본문 바로가기
programming/linux

[펌][내공지상최대]리눅스아파치 가상호스트 조금이라도 지식있으신분 아무글이라도제발써주세요

by hotdogya 2009. 8. 5.

메신져로 답변드렸던 사람입니다.

 

질문하신 분께서 사용하는 gg.gg 무료도메인은

 

등록한 도메인을 입력하였을 때

 

사용자가 지정한 도메인(또는 웹페이지)로 페이지를 포워딩 해주는 역할만 할 뿐입니다.

(!!지정된 웹페이지만 불러온다는 것을 기억하십시오!!)

 

예를 들어 test.gg.gg 라는 도메인에 기존 홈페이지 주소를 192.168.100.254 로 지정하였다면,

 

웹브라우져 주소창에 test.gg.gg 라는 도메인을 입력하게 되면 192.168.100.254 에서 동작 중인

 

웹서버를 연결해준다는 것이지요.

 

 

일반적인 도메인 구입이 구입한 도메인에 특정 아이피가 할당되는 방식이라면

 

위와 같은 무료 도메인 포워딩 서비스는 등록한 도메인 주소를 웹브라우져에 입력했을 때

 

먼저는 서비스 제공하는 회사의 웹서버에 연결 한 후에

 

입력한 도메인에서 지정한 홈페이지를 호출하는 방식입니다.

 

이는 웹페이지만을 포워드 해 주는 설정이므로, test.gg.gg 라는 도메인에 매칭되는 아이피는

 

사용자가 지정한 192.168.100.254 가 아닌 gg.gg 사의 웹서버 아이피이고, 그로 인해

 

http://test.gg.gg/test.phphttp://192.168.100.254/test.php 는 서로 다른 페이지를 불러오게 됩니다.

 

이는 test.gg.gg 에 192.168.100.254 의 아이피가 매치되는 것이 아니기 때문에,

 

사용자가 웹브라우져에서 test.gg.gg 라는 도메인을 입력했을 때 처음에 접속되는 웹서버는

 

gg 사의 웹서버가 될 것이고,

 

이 gg 사의 웹서버에는 가상호스트로 test.gg.gg 도메인이 등록되어 있을 것입니다.

 

아마도 test.gg.gg 라는 가상호스트의 DocumentRoot 내에 있는 index파일에는

 

사용자가 등록한 홈페이지 주소인 192.168.100.254 로 연결을 포워딩 시키는 설정이 있을 것으로 보입니다.

 

 

즉 사용자가 웹브라우져에서 test.gg.gg 라고 입력했을 때 맨 처음으로 불러오는 웹 페이지에는

 

test.gg.gg 로 접속했을 때, 192.168.100.254 의 웹페이지가 보여지도록 포워드 설정이 되어 있을 것입니다.

(이런 웹페이지 포워드는 html 태그로 구현할 수 있습니다)

 

 

따라서 질문하신 분께서 여러 도메인을 등록하셔도 기존 홈페이지 주소를 모두 같게 해 놓으셨다면

(더구나 기존 홈페이지 주소를 아이피 주소로 지정하셨다면)

 

운영중이신 웹서버에 이름 기반 가상호스트 설정을 하셨더라도 불러오는 웹페이지는 하나일 것입니다.

(이럴 경우 가상호스트 설정이 무의미 합니다)

 

 

예를 들어 test1.gg.gg, test2.gg.gg, test3.gg.gg 라는 도메인을 기존 홈페이지 주소로 192.168.100.254 를

 

지정하였을 때, 다른 사용자들이 서로 다른 도메인 주소 test1.gg.gg, test2.gg.gg, test3.gg.gg 로 접속한다

 

할 찌라도 gg.gg 웹서버에서는 test1.gg.gg, test2.gg.gg, test3.gg.gg 모두 192.168.100.254 의 웹페이지를

 

포워드 하므로 192.168.100.254 웹서버의 가상호스트 설정이 적용되지 않습니다.

 

 

하지만 gg.gg 에서 기존 홈페이지 주소를 지정할 때,

 

포트도 함께 지정할 수 있으므로 포트별 가상호스트 설정이 적용됩니다.

 

 

우선 httpd.conf 에서 사용할 포트를 등록합니다. 예를 들어 10080 과 10081 포트를 사용하고자 하신다면

 

httpd.conf 에서 다음 내용을 추가해주세요.

 

...

Listen 10080

Listen 10081

...

 

그리고 가상호스트 설정도 다음과 같이 변경합니다.

 

<VirtualHost abc.gg.gg:10080>
    ServerAdmin yongsuk_@naver.com
    DocumentRoot "/web/abc"
    ServerName abc.gg.gg
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost bbc.gg.gg:10081>
    ServerAdmin yongsuk_@naver.com
    DocumentRoot "/web/bbc"
    ServerName bbc.gg.gg
    ServerAlias bbc.gg.gg
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

 

만약 iptables 방화벽을 사용하신다면 10080과 10081 포트에 대하여 접속에 문제가 없도록 설정해주세요.

 

그리고 나서 아파치 웹서비스를 재시작 합니다.

 

# /etc/init.d/httpd restart

 

 

이제 gg.gg 홈페이지에서 사용할 도메인을 등록해주세요.

 

기존 홈페이지 주소에는 웹서버 ip:포트 번호를 적어주시면 됩니다.

 

http://kinimage.naver.net/storage/upload/2009/05/19/54424960_1243579877.png

 

출처

http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10202&eid=5RA79kVdSYmo/XVYlW9jC8L1Jdl+VlC4&qb=7JWE7YyM7LmYIO2PrO2KuOuzhCDrj4TrqZTsnbg=&enc=utf8&section=kin&rank=5&sort=0&spq=0&pid=fFCyploi5TNsstrCcBNsss--069454&sid=Snh7y-JMeEoAAGoSdEg