Apache:Httpd:VirtualHost
HTTPD에서 가상호스트를 지정하는 방법에 대하여 설명한다.
이름기반 가상호스트를 사용한다면 이름기반 가상호스트에 사용할 IP 주소를 NameVirtualHost 지시어에 사용해야 한다. 즉, 설정파일의 NameVirtualHost 지시어에 이름기반 가상호스트의 호스트별명(CNAME)에 해당하는 IP 주소를 지정해야 한다.
특정 IP 주소에 대한 NameVirtualHost 지시어가 없다면 그 주소를 포함하는 첫번째 가상호스트를 IP기반 가상호스트로 취급한다. IP 주소에 와일드카드 *를 사용할 수도 있다. 특정 IP:PORT 쌍에 대해 오직 한 NameVirtualHost 지시어만을 사용한다면, 여러 NameVirtualHost 지시어와 VirtualHost 지시어를 섞어서 사용할 수 있다.
NameVirtualHost와 VirtualHost 지시어의 순서는 중요하지 않다.
Syntax
사용방법은 아래와 같다.
Example
샘플 예제는 아래와 같다.
## yourid.conf
<Directory "/var/www/blog">
AllowOverride None
Options None
Require all granted
</Directory>
<Directory "/var/www/wiki">
AllowOverride None
Options None
Require all granted
</Directory>
# Virtual Hosts
# You may use the command line option '-S' to verify your virtual host
# configuration.
# Use name-based virtual hosting.
# NameVirtualHost has no effect and will be removed in the next release
#NameVirtualHost *:80
#NameVirtualHost *:443
<VirtualHost *:80>
DocumentRoot "/var/www/blog"
ServerName server-project.com
ServerAlias *.server-project.com
ErrorLog "/var/log/httpd/yourid_blog_error_log"
CustomLog "/var/log/httpd/yourid_blog_access_log" common
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName server-project.com
SSLEngine on
#SSLOptions +StrictRequire
#SSLRequireSSL
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
#SSLRandomSeed startup file:/dev/urandom 1024
#SSLRandomSeed connect file:/dev/urandom 1024
SSLCertificateFile "/etc/httpd/ssl/server.crt"
SSLCertificateKeyFile "/etc/httpd/ssl/server.key"
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName www.server-project.com
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/var/www/wiki"
ServerName wiki.server-project.com
ErrorLog "/var/log/httpd/yourid_wiki_error_log"
CustomLog "/var/log/httpd/yourid_wiki_access_log" common
</VirtualHost>
종류별 가상호스트 설정방법
- Local download: Www.superuser.co.kr.7z
- 이름기반의 가상호스트 (Name-based virtual host)
- 주소기반의 가상호스트 (IP-based virtual host)
- 포트기반의 가상호스트 (Port-based virtual host)
- 기본 가상호스트 (Default virtual host)