Apache HTTP Server Version 2.4
ƢÉÇÑ î: tr
ÀÌ Â ÀÚÁÖ ÀǵÇ Ƣ»óÈ£ Áú碯 äÀ» ÇÏÁí ©ÁÙ. »óÈÀ IPâÝ Ƣ»óÈ£碬¦ ÅëÇ ÇÑ ö ©¯ À¥»çÀÌ碬¦ ñÇÏÁ ƩìÀÌÙ. ÇÑ ÇÁÏà ö µÚ ©¯ ö¦ »çëÇÏ© »çÀÌ碬¦ îµÇÏ Ʃì¦ Ùé µµ Ʃ à ÍÀÌÙ.
_default_
Ƣ»óÈ£ »çëÇÏâServerPath
ÁöÃî »çëÇÏâö IP ÁÖÒƢ ÇÑƩ ÀÖí, DNS ©¯ ÁÖÒ(CNAMES)Ƣ ÀÌ ÄÄÇ»Åͦ ƢÅÙ. ÀÌ ÄÄÇ»ÅÍ www.example.com
ú www.example.org
ÀÇ À¥ö¦ ÇÇàÇÏí ÍÙ.
ÄÄ ö Ƣ»óÈ£ ÁÀ» ÇÑÙí È£碬í ëÇÑ DNS ÇñÀÌ ÀÚµÀÌÎ »ýµÇÁö ÊÂÙ. ݵåà DNS IP ÁÖÒ¦ ƢÅƢ ÀÌÀÌ ÀÖî ÇÑÙ. È¯é «µµ À¥»çÀÌ碬¦ ö Ù. Ë»çÇâ ÀÇ hosts
ÄÀÏ ÇñÀ» ÃƢÇÒ ö ÀÖÁö, ÀÌ hosts ÇñÀ» ƢÁ ÄÄÇ»ÅÍ ÝµµÈÙ.
# ÄÄƢ 80À» âÙƢÙ
Listen 80
# µç IP ÁÖÒ Ƣ»óÈ£ äûÀ» âÙƢÙ
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example.com
# Ù¥ ÁöÃîµéµµ ÀÖÙ
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example.org
# Ù¥ ÁöÃîµéµµ ÀÖÙ
</VirtualHost>
ǥ µç ÁÖÒ¦ ƢÅƩÇÎ, ÁÖö îҩ äûµµ ñÇÏÁö ÊÂÙ. www.example.com
ÀÌ ÁÄÀÏ ÃÀÀÎ ÀÇÎ ƢÀå ôÀ ìÀע¦ ƢÁöç, â»ÈÀ ÃÊâ öƢ µÈÙ. îҩ ServerName
ÁöÃîµµ ÇçµÇÁöÊ äûÀ àVirtualHost
Ƣ ñÇÑÙ.
ÇÑÙé *
ëÅ ÃÅÛÀÇ ÇÁ¦ IP ÁÖÒ¦ »çëÇÒ ö ÀÖÙ. ÀÌ Ʃì VirtualHost
ÀÇ ÔÕ碥Â NameVirtualHost
ÀÇ ÔÕ碯Í ÀÏÄÇ ÇÑÙ:
NameVirtualHost 172.20.30.40
<VirtualHost 172.20.30.40>
# »ý« ...
¯ ISP µÀûÀÎ IP ÁÖÒ¦ ƢÁ碯À µî IP ÁÖÒ¦ £Â Ʃì *
¦ »çëÇÏ ÍÀÌ À¯ëÇÏÙ. *
 µç IP ÁÖÒ ÇçÇÏÇÎ, IP ÁÖÒƢ ¯ƩµÇîµµ ÁÀ» ¯ƩÇÒ ÇÊäƢ Ù.
ÅÀÇ ëÎÀÇ ÀÌסâÝ Ƣ»óÈ£ ÁÀ ÀעÍ ơƢÙ. Ü ٥ IP ÁÖÒ 硤Î Ù¥ »ëÀ» ñÇÏÁ ƩìÀÌÙ.
©â íÇÑ ýÀ IP ÁÖÒƢ îƩóµµ ÀûëƢÉÇÏÙ.
ö IP ÁÖÒƢ µÎƩÀÖÙ. ÇÏ (172.20.30.40
) "ÁÖ" ö server.domain.com
À» ñÇÏí, Ù¥ ÇÏ (172.20.30.50
) ©¯ Ƣ»óÈ£碬¦ ñÇÒ ÍÀÌÙ.
Listen 80
# 172.20.30.40 ÇÇàÇÏ "ÁÖ"öÀÌÙ
ServerName server.domain.com
DocumentRoot /www/mainserver
# Ù¥ ÁÖÒÙ
NameVirtualHost 172.20.30.50
<VirtualHost 172.20.30.50>
DocumentRoot /www/example1
ServerName www.example.com
# Ù¥ ÁöÃîµéµµ ÀÖÙ ...
</VirtualHost>
<VirtualHost 172.20.30.50>
DocumentRoot /www/example2
ServerName www.example.org
# Ù¥ ÁöÃîµéµµ ÀÖÙ ...
</VirtualHost>
172.20.30.50
ÀÌ Ñ ÁÖÒ ëÇÑ äûÀ ÁÖöƢ ñÇÑÙ. È£碬í ÀÌ, Áï Host:
ÇìõÀÌ 172.20.30.50
Î äûÇÏé www.example.com
ÀÌ ñÇÑÙ.
ö ÄÄÇ»ÅÍ IP ÁÖÒƢ µÎƩ (192.168.1.1
ú 172.20.30.40
) ÀÖÙ. ÄÄÇ»ÅÍ »Î (ÀÎóÝ) 碯ú ÜÎ (ÀÎÅÍÝ) 碯 »çÀÌ ÀÄÇÑÙ. 碯 Û server.example.com
À ÜÎ ÁÖÒ¦ (172.20.30.40
) ÀÇÌÇÏí, 碯 »Î ơÀ ÀÌÀ» »Î ÁÖÒÎ (192.168.1.1
) »çëÇÑÙ.
öÂ VirtualHost
Ç ÇÑƩÎ »ÎÍ ÜÎ ÀÀä ơÀ »ëÀ» ñÇÒ ö ÀÖÙ.
NameVirtualHost 192.168.1.1
NameVirtualHost 172.20.30.40
<VirtualHost 192.168.1.1 172.20.30.40>
DocumentRoot /www/server1
ServerName server.example.com
ServerAlias server
</VirtualHost>
ÀÌÁ¦ µÎ 碯 µéî äûÀ» ơÀ VirtualHost
ñÇÑÙ.
»Î 碯 ÏÀüÇÑ È£碬í server.example.com
ëÅ ÀÌ server
µµ ƢÉÇÏÙ.
ÇÇÑ ÀÀÇ IP ÁÖÒ ëÅ *
À» »çëÇÏ© öƢ µç ÁÖÒ µÀÏÇÏÔ µÀÛÇÒ ö ÀÖÙ.
ơÀ IPÀÇ ©¯ 碯 Î Ù¥ µµÀÎÀ» ñÇÑÙí ƢÁÇÏÀÚ. ÀÌ "NameVirtualHost" Å 碬¦ ÁÀÇÇÏé ƢÉÇÏÙ. NameVirtualHost name:portÀÌ <VirtualHost name:port> ÈÀ Listen ÁöÃî »çëÇÏé ȵÈÙ.
Listen 80
Listen 8080
NameVirtualHost 172.20.30.40:80
NameVirtualHost 172.20.30.40:8080
<VirtualHost 172.20.30.40:80>
ServerName www.example.com
DocumentRoot /www/domain-80
</VirtualHost>
<VirtualHost 172.20.30.40:8080>
ServerName www.example.com
DocumentRoot /www/domain-8080
</VirtualHost>
<VirtualHost 172.20.30.40:80>
ServerName www.example.org
DocumentRoot /www/otherdomain-80
</VirtualHost>
<VirtualHost 172.20.30.40:8080>
ServerName www.example.org
DocumentRoot /www/otherdomain-8080
</VirtualHost>
öÂ ¢¢ www.example.com
ú www.example.org
ÇçÇÏ µÎ IP ÁÖÒ¦ (172.20.30.40
ú 172.20.30.50
) ƢÁÙ.
Listen 80
<VirtualHost 172.20.30.40>
DocumentRoot /www/example1
ServerName www.example.com
</VirtualHost>
<VirtualHost 172.20.30.50>
DocumentRoot /www/example2
ServerName www.example.org
</VirtualHost>
<VirtualHost>
ÁöÃîÎ ÁöÁÇÑ ÁÖÒ ÇçÇÏÁöÊ ÁÖÒÎ (¦ µéî, localhost
) äûÀÌ µéîÀé ÁÖöƢ ÀÖ Ʃì ÁÖöƢ ñÇÑÙ.
öÂ ¢¢ www.example.com
ú www.example.org
ÇçÇÏ µÎ IP ÁÖÒ¦ (172.20.30.40
ú 172.20.30.50
) ƢÁÙ. ¢ IPÀÇ 80ú 8080 碯 Ƣ»óÈ£碬¦ µƢÙ.
Listen 172.20.30.40:80
Listen 172.20.30.40:8080
Listen 172.20.30.50:80
Listen 172.20.30.50:8080
<VirtualHost 172.20.30.40:80>
DocumentRoot /www/example1-80
ServerName www.example.com
</VirtualHost>
<VirtualHost 172.20.30.40:8080>
DocumentRoot /www/example1-8080
ServerName www.example.com
</VirtualHost>
<VirtualHost 172.20.30.50:80>
DocumentRoot /www/example2-80
ServerName www.example.org
</VirtualHost>
<VirtualHost 172.20.30.50:8080>
DocumentRoot /www/example2-8080
ServerName www.example.org
</VirtualHost>
ÁÖÒÁ îîÀ ÀÌסâÝ Ƣ»óÈ£硤Î, Ù¥ ÍÀ IPâÝ Ƣ»óÈ£硤Î ñÇÏí ÍÙ.
Listen 80
NameVirtualHost 172.20.30.40
<VirtualHost 172.20.30.40>
DocumentRoot /www/example1
ServerName www.example.com
</VirtualHost>
<VirtualHost 172.20.30.40>
DocumentRoot /www/example2
ServerName www.example.org
</VirtualHost>
<VirtualHost 172.20.30.40>
DocumentRoot /www/example3
ServerName www.example3.net
</VirtualHost>
# IP-âÝ
<VirtualHost 172.20.30.50>
DocumentRoot /www/example4
ServerName www.example4.edu
</VirtualHost>
<VirtualHost 172.20.30.60>
DocumentRoot /www/example5
ServerName www.example5.gov
</VirtualHost>
îҩ Ƣ»óÈ£碯µµ ÇçÇÏÁöÊÀ IP ÁÖÒÍ 碯 ëÇÑ µç äûÀ» ÃÇÏâ.
<VirtualHost _default_:*>
DocumentRoot /www/default
</VirtualHost>
default(â») Ƣ»óÈ£ÀÇ 硤Î ÍÀϵåÄ«µå¦ »çëÇÏ© îҩ äûµµ ÁÖöÎ ƢµµÏ µçÙ.
default Ƣ»óÈ£碥 ÀýëÎ ÀÌסâÝ Ƣ»óÈ£Ƣ »çëÇÏ ÁÖÒ/硤ÎÀÇ äûÀ» ñÇÏÁö ÊÂÙ. Ë ö Å Host:
ÇìõƢ »ý«µÈ äûÀ Ç»ó ÃÖÃÊÀÇ ÀÌסâÝ Ƣ»óÈ£(ÁÄÀÏ ÁÖÒ/Ƣ ÃÀÀÎ Â Ƣ»óÈ£)Ƣ ñÇÑÙ.
RewriteRule
À» »çëÇÏ© îҩ äûÀ» ¯Á äÀÌÁö(ÈÀ Å©)Î ÀçÀÛÇÒ(rewrite) ö ÀÖÙ.
ÀÀÇ ƩìÍ ơÁö, ö ©¯ 碬¦ âÙí 80 碯 ëÇ ÃƢÎ _default_
Ƣ»óÈ£碬¦ »çëÇÏí ÍÙ.
<VirtualHost _default_:80>
DocumentRoot /www/default80
# ...
</VirtualHost>
<VirtualHost _default_:*>
DocumentRoot /www/default
# ...
</VirtualHost>
80 碯 ëÇÑ default Ƣ»óÈ£碥 (ݵåà ÍÀϵåÄ«µå 碬¦ ƢÁ â» Ƣ»óÈ£ ÀÌÀü Í ÇÑÙ) ÁöÁÇÏÁöÊÀ IP ÁÖÒÎ »Á µç äûÀ» ñÇÑÙ. ÁÖö ÀýëÎ äûÀ» ñÇÏÁö ÇÑÙ.
80 碯 ëÇ default Ƣ»óÈ£碬¦ µéí ÍÙ.
<VirtualHost _default_:80>
DocumentRoot /www/default
...
</VirtualHost>
80 ÁöÁÇÏÁöÊÀ ÁÖÒ ëÇÑ äûÀ â» Ƣ»óÈ£Ƣ ñÇÏí, Ù¥ ÁöÁÇÏÁöÊÀ ÁÖÒÍ 碬¦ ƢÁ äûÀ ÁÖ öƢ ñÇÑÙ.
(ÀÌסâÝÀÇ Ã ) È£碬í www.example.org
ëÇÑ ÀÌסâÝ Ƣ»óÈ£碥 ÀÚÅÀÇ IP ÁÖÒ¦ ƢÁ ÇÑÙ. ÀÌסâÝ Ƣ»óÈ£ÀÇ ÀÌÀü IP ÁÖÒ¦ ÄÌÇÏ ÀÓö ÇÁÏÃÍÀÇ Á¦¦ ÇÇÇÏâÀÇ Åâ µÈ µÑ µÎ¦ ñÇÏí ÍÙ.
ýÀ VirtualHost
ÁöÃî »õ IP ÁÖÒÀ» (172.20.30.50
) ÃƢÇÏéµÇÇÎ Ù.
Listen 80
ServerName www.example.com
DocumentRoot /www/example1
NameVirtualHost 172.20.30.40
<VirtualHost 172.20.30.40 172.20.30.50>
DocumentRoot /www/example2
ServerName www.example.org
# ...
</VirtualHost>
<VirtualHost 172.20.30.40>
DocumentRoot /www/example3
ServerName www.example.net
ServerAlias *.example.net
# ...
</VirtualHost>
ÀÌÁ¦ (IPâÝ Ƣ»óÈ£碬¦ ÅëÇÑ) »õÎî ÁÖÒÍ (ÀÌסâÝ Ƣ»óÈ£碬¦ ÅëÇÑ) ÀÌÀü ÁÖÒ µÎ Ƣ»óÈ£碯 Á¢ÙÇÒ ö ÀÖÙ.
µÎ ÀÌסâÝ Ƣ»óÈ£碬¦ ƢÁ öƢ ÀÖÙ. ÃÙ¥ Ƣ»óÈ£碬¦ ÅÃÇÏâÀÇ Å¬óÀÌ碥 ÃÙ¥ Host:
Çìõ¦ » ÇÑÙ. ÀµÈ HTTP/1.0 ŬóÀÌƢ ÀÌ Çìõ¦ »Áö ÇÏé ÄÄ ŬóÀÌƢ îҩ Ƣ»óÈ£碬¦ ÁíÇÏÂÁö Ë ö Ù ( ÃÖÃÊÀÇ Ƣ»óÈ£Ƣ äûÀ» ñÇÑÙ). ÀµÈ êóìÀúÍ ƢÉÇÑ È£È¯À» À¯ÁöÇÏâÀÇ ÃÖÃÊÀÇ Ƣ»óÈ£碬¦ µéí, ©â ÀÌסâÝ Ƣ»óÈ£ÀÇ URL Á¢µÎ»ç¦ ÇÔÇÏ µÅ© ñÏ äÀÌÁö¦ µÙ.
NameVirtualHost 172.20.30.40
<VirtualHost 172.20.30.40>
# primary vhost
DocumentRoot /www/subdomain
RewriteEngine On
RewriteRule ^/.* /www/subdomain/index.html
# ...
</VirtualHost>
<VirtualHost 172.20.30.40>
DocumentRoot /www/subdomain/sub1
ServerName www.sub1.domain.tld
ServerPath /sub1/
RewriteEngine On
RewriteRule ^(/sub1/.*) /www/subdomain$1
# ...
</VirtualHost>
<VirtualHost 172.20.30.40>
DocumentRoot /www/subdomain/sub2
ServerName www.sub2.domain.tld
ServerPath /sub2/
RewriteEngine On
RewriteRule ^(/sub2/.*) /www/subdomain$1
# ...
</VirtualHost>
ServerPath
ÁöÃîҡש碯 URL http://www.sub1.domain.tld/sub1/
ëÇÑ äûÀ Ç»ó subl-Ƣ»óÈ£Ƣ ñÇÑÙ.
ŬóÀÌƢ ÃÙ¥ Host:
Çìõ¦ Ùé, URL http://www.sub1.domain.tld/
ëÇÑ äûÀ subl-Ƣ»óÈ£碯 ñÇÑÙ. à Host:
Çìõ¦ »ÁöÊÀé ŬóÀÌ碥 ÃÖÃÊÀÇ È£碯 ÀÖ ÁäÀÌÁö¦ ÔµÈÙ.
©â Á¦Ƣ ÀÖÀÀ» ÁÖÀÇÇÏó: ŬóÀÌƢ Host:
Çìõ¦ »ÁöÊÀé http://www.sub2.domain.tld/sub1/
ëÇÑ äûµµ subl-Ƣ»óÈ£Ƣ ñÇÑÙ.
RewriteRule
ÁöÃî¦ »çëÇÏ© ÃÙ¥ Host:
Çìõ¦ »Â ŬóÀÌ碥 (¦ µéî, URL ÀüÄ»çƢ ÀÖÅ Â) µÎ URLÀ» µÎ »çëÇÒ ö ÀÖÙ.
ƢÉÇÑ î: tr