Skip to content

Apache:Httpd:VirtualHost

HTTPD에서 가상호스트를 지정하는 방법에 대하여 설명한다.

이름기반 가상호스트를 사용한다면 이름기반 가상호스트에 사용할 IP 주소를 NameVirtualHost 지시어에 사용해야 한다. 즉, 설정파일의 NameVirtualHost 지시어에 이름기반 가상호스트의 호스트별명(CNAME)에 해당하는 IP 주소를 지정해야 한다.

특정 IP 주소에 대한 NameVirtualHost 지시어가 없다면 그 주소를 포함하는 첫번째 가상호스트를 IP기반 가상호스트로 취급한다. IP 주소에 와일드카드 *를 사용할 수도 있다. 특정 IP:PORT 쌍에 대해 오직 한 NameVirtualHost 지시어만을 사용한다면, 여러 NameVirtualHost 지시어와 VirtualHost 지시어를 섞어서 사용할 수 있다.

NameVirtualHost와 VirtualHost 지시어의 순서는 중요하지 않다.

Syntax

사용방법은 아래와 같다.

NameVirtualHost *:80
<VirtualHost *:80>
...
</VirtualHost>

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>

종류별 가상호스트 설정방법

See also

Favorite site