티스토리 뷰
1. 이름 기반의 버추얼 호스트
1개의 IP에 2개의 도메인을 쓰는 경우 NameVirtualHost 지시자를 사용해야 한다.
ex) 192.168.123.2에 www.butterthlies.com과 sales.butterthlies.com 2개를 쓰고 싶은 경우
NameVirtual Host 192.168.123.2
<VirtualHost www.butterthlies.com>
ServerAdmin sales@butterthlies.com
DocumentRoot /usr/www/site.virtual/htdocs/customers
ServerName www.butterthlies.com
ErrorLog /usr/www/site.virtual/name-based/logs/error_log
CustomLog ...
</VirtualHost>
<VirtualHost sales.butterthlies.com>
ServerAdmin sales@butterthlies.com
DocumentRoot /usr/www/site.virtual/htdocs/salesmen
ServerName sales.butterthlies.com
ErrorLog /usr/www/site.virtual/name-based/logs/error_log
CustomLog ...
</VirtualHost>
※NameVirtualHost IP주소[:포트]
이름 기반의 Virtual Host를 쓴다는 의미의 지시자로 클라이언트로부터 NameVirtualHost로 설정된 IP:포트로 접속요청을 받으면 VirtualHost부분 중 매칭되는 도메인으로 연결해 주는 역할을 한다.
*:80 은 :80 80번포트로 들어오는 * (모든 IP요청)에 대하여가상호스트를 수행한다는 것이다. mod_ssl을 이용한 SSL을 사용할 것이라면 포트번호를 :443 과 같이 적용해야 한다. httpd -S 옵션으로 가상호스트 설정에 대한 점검을 할 수 있다.
2. IP 기반의 버추얼 호스트
HTTP/1.1 이전의 방식으로 지금은 거의 사용하지 않는 방식이다.
<VirtualHost 192.168.123.2>
ServerName www.butterthlies.com
ServerAdmin sales@butterthlies.com
DocumentRoot /usr/www/site.virtual/htdocs/customers
ErrorLog /usr/www/site.virtual/name-based/logs/error_log
CustomLog ...
</VirtualHost>
<VirtualHost 192.168.123.3>
ServerName sales.butterthlies.com
ServerAdmin sales@butterthlies.com
DocumentRoot /usr/www/site.virtual/htdocs/salesmen
ErrorLog /usr/www/site.virtual/name-based/logs/error_log
CustomLog ...
</VirtualHost>
3. 이름/IP 혼합 버추얼 호스트
위의 두가지를 혼합한 방식으로 NameVirtualHost로 지정되어 있는 <VirtualHost>부분은 이름 기반으로, 그외에는 IP기반으로 작동함
NameVirtual Host 192.168.123.2
<VirtualHost www.butterthlies.com>
ServerAdmin sales@butterthlies.com
DocumentRoot /usr/www/site.virtual/htdocs/customers
ServerName www.butterthlies.com
ErrorLog /usr/www/site.virtual/name-based/logs/error_log
CustomLog ...
</VirtualHost>
<VirtualHost sales.butterthlies.com>
ServerAdmin sales@butterthlies.com
DocumentRoot /usr/www/site.virtual/htdocs/salesmen
ServerName sales.butterthlies.com
ErrorLog /usr/www/site.virtual/name-based/logs/error_log
CustomLog ...
</VirtualHost>
<VirtualHost 192.168.123.3>
ServerName sales.butterthlies.com
ServerAdmin sales@butterthlies.com
DocumentRoot /usr/www/site.virtual/htdocs/salesmen
ErrorLog /usr/www/site.virtual/name-based/logs/error_log
CustomLog ...
</VirtualHost>
4. 포트 기반의 버추얼 호스트
Listen 80
Listen 8080
<VirtualHost 192.168.123.2:80>
ServerName www.butterthlies.com
ServerAdmin sales@butterthlies.com
DocumentRoot /usr/www/site.virtual/htdocs/customers
ErrorLog /usr/www/site.virtual/name-based/logs/error_log
CustomLog ...
</VirtualHost>
<VirtualHost 192.168.123.2:8080>
ServerName sales.butterthlies.com
ServerAdmin sales@butterthlies.com
DocumentRoot /usr/www/site.virtual/htdocs/salesmen
ErrorLog /usr/www/site.virtual/name-based/logs/error_log
CustomLog ...
</VirtualHost>
이렇게 Listen지시자를 쓰면 해당 포트를 아파치가 감시하도록 함 따라서 위와 같이 설정한 경우 http://www.butterthlies.com으로 접속한 경우 80번 포트로 접속하지만 http://www.butterthlies.com:8080으로 접속한다면 밑의 도메인으로 접속됨
'책 > 아파치 핵심 가이드' 카테고리의 다른 글
[8일차] .htaccess & Expirations(기한만료) (0) | 2015.11.11 |
---|---|
[7일차] HTTP 응답 헤더 & Options 지시자 & 심볼릭 링크 (0) | 2015.11.11 |
[5일차] httpd.conf의 각종 지시자들 2차 (0) | 2015.11.10 |
[4일차] httpd.conf의 각종 지시자들 1차 (0) | 2015.11.09 |
[3일차] 기본적인 아파치 구축 & 실행 순서 (0) | 2015.11.09 |