<-
Apache > HTTP Server > Documentation > Ƣ»óÈ£

ëÀÇ Ƣ»óÈ£碬¦ µÀûÀÎ ÁÇÏâ 2h63w

ƢÉÇÑ î:  tr 

ÀÌ Â ÃÖÅÇ ÀÌ ÕÏÙ. ÃÖÙ ¯ƩµÈ »ëÀ µî ¦ ÂüíÇÏä.

ÀÌ Â ÄÄ 1.3 ëÀÇ Ƣ»óÈ£碬¦ ÈÀÀûÀÎ ñÇÏ ýÀ» íÇÑÙ.

 Apache!

Âüí 251y31

top

µâ 5ho1i

çÅÀÇ apache2.conf ÙÀú ơÀÌ Î ñÁÇÑ <VirtualHost> ǵéÀ» ÀÌ ÀÖÙé ©â íÇÏ ýÀÌ µµòÀÌ µÉ ÍÀÌÙ:

NameVirtualHost 111.22.33.44
<VirtualHost 111.22.33.44>
ServerName www.customer-1.com
DocumentRoot /www/hosts/www.customer-1.com/docs
ScriptAlias /cgi-bin/ /www/hosts/www.customer-1.com/cgi-bin
</VirtualHost>
<VirtualHost 111.22.33.44>
ServerName www.customer-2.com
DocumentRoot /www/hosts/www.customer-2.com/docs
ScriptAlias /cgi-bin/ /www/hosts/www.customer-2.com/cgi-bin
</VirtualHost>
# Ù Ù Ù
<VirtualHost 111.22.33.44>
ServerName www.customer-N.com
DocumentRoot /www/hosts/www.customer-N.com/docs
ScriptAlias /cgi-bin/ /www/hosts/www.customer-N.com/cgi-bin
</VirtualHost>

â» ƩäÀ ÁÀûÀÎ <VirtualHost> Á µÎ¦ µÀûÀÎ ÃÇϵµÏ ëÃÇÏ ÍÀÌÙ. ¯é À ÀåÁÀÌ ÀÖÙ:

  1. ÁÄÀÏÀÌ ÀÛÁ ÄÄƢ » ÃÀÛÇÏí 碬¦ ÀûÔ »çëÇÑÙ.
  2. Ƣ»óÈ£碬¦ ÃƢÇÏâÀÇ ÄÀÏÃÅÛ ÀûçÇÑ µÅä碬¦ µéí DNS ÇñÀ» ÃƢÇÏâ ÇÏéµÈÙ. Áï, ÄĦ ÀçÁÇÏí ÀçÃÀÛÇÒ ÇÊäƢ Ù.

ÜÁÀ ¢ Ƣ»óÈ£稬ơÎ Ù¥ ÎÄÀÏÀ» »çëÇÒ ö Ù ÁÀÌÙ. ¯ Åì À Ƣ»óÈ£碬¦ »çëÇÑÙé ÄÀÏâúÀÚ¦ Ù áö硾âҡש碯 Î Ù¥ ÎÄÀÏÀ» »çëÇÒ ö Ù. ÄÀÌÇÁ fifoΠΦ »í,  í Φ ÃÇÏ© ©Â ýÀÌ (Åëè µîÀ» À» öµµ ÀÖÙ) õ Ù.

top

Ʃä 2e5h2r

Ƣ»óÈ£碥 IP ÁÖÒÍ HTTP äûÀÇ Host: Çìõ ÁÎ ÁÀÇÇÑÙ. â»ÀûÀÎ ëÀÇ µÀû Ƣ»óÈ£ âúÀ ÀÚµÀÎ Ƣ»óÈ£ Á¦ äûÀÇ ÄÀÏƩÎ ÇÔÇÑÙ. ÀÌ ëÎ mod_rewrite¦ »çëÇ ÇÑÙ. ÀÌ µÎ µâ µÎ â»ÀûÀÎ ö ÇÔµÇÁö ÊÂÙ. ÀÌ ýÀ» »çëÇÏÁé ÄĦ ÇÏí ÄÄÄÀÏÇÒҡ ÇÔÇ ÇÑÙ.

µÀû Ƣ»óÈ£碬¦ ÀÏÝÀûÀÎ Ƣ»óȣà ÀÌÔÇÏÁé ©¯ƢÁö¦ `Ó©' ÇÑÙ. ƢÀå ÁäÇÑ ÍÀ ÄÄƢ ÀÚâÂüÁ URL µîÀ» µéҡ »çëÇÒ öíÀÌÙ. öíÀ ServerName ÁöÃîÎ ÁÇÏç, CGI SERVER_NAME ȯƩ¯öÎ ÁÖîÁÙ. ÇÇàÁ ÇÁ¦ öíÀ UseCanonicalName Á ÈÙ. UseCanonicalName OffÀÌé äûÀÇ Host: Çìõ »ëÀÌ öíÀÌ µÈÙ. UseCanonicalName DNSÀÌé Ƣ»óÈ£ÀÇ IP ÁÖÒ¦ DNS Ë»öÇÏ© öíÀ» ËÙ. ÀüÀÚ ÀÌסâÝ µÀû Ƣ»óÈ£碯 »çëÇÏí, ÈÄÀÚ IPâÝ Ƣ»óÈ£碯 »çëÇÑÙ. Host: ÇìõƢ Å DNS Ë»öÀÌ ÇÇÏ© ÄÄƢ öíÀ» Ë»Áö ÇÏé ServerNameÀÎ ÁÇÑ ƨÀ» ëÅ »çëÇÑÙ.

Ù¥ `ÓÀÏ' ÍÀ (DocumentRootÎ ÁÇÏç, CGI DOCUMENT_ROOT ȯƩ¯öÎ ÁÖîÁöÂ) çÀÌÙ. ÀÏÝÀûÀÎ Ʃì core µâÀÌ ÀÌ ÁÀ» »çëÇÏ© URI ÇçÇÏ ÄÀÏíÀ» ãÁö, ö¦ µÀû Ƣ»óÈ£ÃÀ» ÇÒҡע ٥ µâÀÌ (mod_vhost_alias mod_rewrite) Ù¥ ýÀÎ ÀÌ ÀÛÀ» ÇÑÙ. µÎ µâ µÎ DOCUMENT_ROOT ȯƩ¯ö¦ »çëÇÏÁö ÊÀÇÎ CGI SSI Ƣ ÀÌ ƨÀ» »çëÇÑÙé ÀµÈ áú¦ òÀ» ö ÀÖÙ.

top

£ÜÇÑ µÀû Ƣ»óÈ£ g6i4z

À µâ ÀýÀÇ Ƣ»óÈ£ ÁÀ» mod_vhost_alias¦ »çëÇÏ© õ ÀÏÝÀûÀÎ ÇöÇÙ.

# Host: Çìõ öíÀ» ËÙ
UseCanonicalName Off

# àÇÊµå¦ »çëÇÏ© ÀÌ Î¦ Ƣ»óÈ£稬ơÎ ö ÀÖÙ
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon

# äûÀ» ÃÇÏâÀÇ ÄÀÏí öíÀ» ÇÔÇÑÙ
VirtualDocumentRoot /www/hosts/%0/docs
VirtualScriptAlias /www/hosts/%0/cgi-bin

ÀÌ Á UseCanonicalName Off¦ UseCanonicalName DNSÎ ¯ƩÇÏâ ÇÏé IPâÝ Ƣ»óÈ£Ƣ µÈÙ. Ƣ»óÈ£ÀÇ IP ÁÖÒ¦ ƢÁöí ÄÀÏí ÃƢÇÒ öíÀ» Ë ö ÀÖÙ.

top

Ƣ»óÀΠȣÇÏ ÈäÀÌÁö ÃÅÛ 1t5a5a

ISP ÈäÀÌÁö ö¦ ÀÇ ÀÀÇ ÁÀ» öÁÇÙ. ÁҡÝ õ ÀâÇÑ ÁÀ» »çëÇÏé www..isp.comÀÇ ¦ /home// µÎ ÄÀÎ öíÀÇ ÀÏΦ ƢÁöí ÄÀÏíÀ» µé ö ÀÖÙ. ÀÌ ÁÀ cgi-binÀ» ¢ Ƣ»óÈ£Ƣ µûÎ ƢÁöÁöÊí µç Ƣ»óÈ£Ƣ ơÀÌ »çëÇÑÙ.

# â»ÀûÀÎ »ëÀ ÀעÍ ơƢÙ. í

# ÄÀÏí öíÀÇ ÀÏΦ ÇÔÇÑÙ
VirtualDocumentRoot /www/hosts/%2/docs

# ÇÏÀÇ cgi-bin µÅä
ScriptAlias /cgi-bin/ /www/std-cgi/

mod_vhost_alias  õ ÀâÇÑ VirtualDocumentRoot ÁÀÇ Ƣ ÀÖÙ.

top

ÇÑ ö ©¯ Ƣ»óÈ£ ÃÅÛ »çëÇÏâ 3l1x5r

õ ÀâÇÑ ÁÀÇ Î ÄÄÀÇ ÀÏÝÀûÀÎ <VirtualHost> ÁöÃî¦ »çëÇÏ© ©¯ Ƣ»óÈ£ ÁÀÇ üÀע¦ ÁÀýÇÒ ö ÀÖÙ. ¦ µéî, ÙÀú ơÀ ÁÀ ÈäÀÌÁö íƢ IP ÁÖÒ ÇÑƩ, »óÀûÀÎ íƢÔ Ù¥ IP ÁÖÒ ÇÑƩ¦ ΩÇÑÙ. ơ ÀÌÀüà <VirtualHost> Á Ç µÎ À» öµµ ÀÖÙ.

UseCanonicalName Off

LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon

<Directory /www/commercial>
Options FollowSymLinks
AllowOverride All
</Directory>

<Directory /www/homepages>
Options FollowSymLinks
AllowOverride None
</Directory>

<VirtualHost 111.22.33.44>
ServerName www.commercial.isp.com

CustomLog logs/access_log.commercial vcommon

VirtualDocumentRoot /www/commercial/%0/docs
VirtualScriptAlias /www/commercial/%0/cgi-bin
</VirtualHost>

<VirtualHost 111.22.33.45>
ServerName www.homepages.isp.com

CustomLog logs/access_log.homepages vcommon

VirtualDocumentRoot /www/homepages/%0/docs
ScriptAlias /cgi-bin/ /www/std-cgi/
</VirtualHost>

top

õ ÈÀÀûÀÎ IPâÝ Ƣ»óÈ£ 64v2j

à ÁÀ» £ÜÈ IPâÝ Ƣ»óÈ£硤Î ÙÜ ö ÀÖÙí »ÇÙ. ÒÇàȵµ ÁÀ Å äûҢÙ DNS¦ ãÇÏÇÎ Åì ñÈÀÀûÀÌÙ. ÀÌעëÅ IP ÁÖÒÎ ÄÀÏÃÅÛÀ» ÇÏí ơÀ ÄÀΠΦ öÁÇÏé Á¦¦ ÇáÇÒ ö ÀÖÙ. ÄÄ öíÀ» Ùê ÇÊäƢ îÁöí, DNS Ë»öµµ ÇÏÁö ÊÔ µÈÙ.

# IP ÁÖÒ¦ DNS Ë»öÇÏ© öíÀ» ËÙ
UseCanonicalName DNS

# Φ ö ÀÖµµÏ IP ÁÖÒ¦ ÇÔÇÑÙ
LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon

# ÄÀÏí IP ÁÖÒ¦ ÇÔÇÑÙ
VirtualDocumentRootIP /www/hosts/%0/docs
VirtualScriptAliasIP /www/hosts/%0/cgi-bin

top

ÄÄ ÀÌÀü öÀü »çëÇÏâ 5i2161

À µéÀ ÄÄ öÀü 1.3.6 ÀÌÈÄ ÇÔµÈ mod_vhost_aliasÀ» »çëÇÑÙ. mod_vhost_aliasƢ  ÄÄ öÀüÀ» »çëÇÑÙé ÀÌÌ »ÇµíÀÌ mod_rewrite¦ »çëÇÏ©, Ü Host:-ÇìõâÝ Ƣ»óÈ£碬À», ÇöÇÒ ö ÀÖÙ.

Ç Î üÇÏ© ÁÖÀÇÇÒ ÁÀÌ ÀÖÙ. ÄÄ 1.3.6 ÎÇüÄ ÁöÃî %VƢ ÇÔµÇúí, öÀü 1.3.0 - 1.3.3 ÀÌ âÉÀ» %v ÉÇÀÌ ëÅ ÇÙ. ¯ öÀü 1.3.4 ÀÌ âÉÀÌ Ù. îҩ ÄÄ öÀüµµ .htaccess ÄÀÏ UseCanonicalName ÁöÃî¦ »çëÇÒ ö ÀÖÀÇÎ Î ÀÌ»óÇÑ »ëÀÌ â쵃 ö ÀÖÙ. ¯ÇÎ ƢÀå ÁÁÀ ýÀ %{Host}i ÁöÃî¦ »çëÇÏ© Host: Çìõ¦ ÁÁ¢ Î â ÍÀÌÙ. Ç, ÀÌ ýÀ %V ÇÔÇÏÁöÊ :port¦ µÚ ÃƢÇÒ ö ÀÖÙ.

top

mod_rewrite¦ »çëÇÑ £ÜÇÑ µÀû Ƣ»óÈ£ 273p15

ÙÀÀ ÃÂ Í ơÀ ÀÏÀ» ÇÏ apache2.conf ÀÌÙ. ÃÀ ÀýÝÀ ÃÂ Í ÅÀÇ ñÁÇÏÁö, ÀÌÀü öÀüúÀÇ È£È¯ú mod_rewriteÀÇ ÀûÀýÇÑ µÀÛÀ» ÀÇ öÁµÇúÙ. ÓÁö ÀýÝÀ ÇÁ¦ ÀÛÀ» ÇÏ mod_rewrite¦ ÁÇÑÙ.

¯È ÁÖÀÇÇ ÇÒ »çÇÀÌ ÀÖÙ. â»ÀûÀÎ mod_rewrite (mod_alias µî) Ù¥ URI µâ ÀÌÀü ÇÇàµÈÙ. Ù¥ URI µâµéú ơÀÌ µÀÛÇÒ ÍÀ» íÁÇÏ© mod_rewrite¦ ÁÇ ÇÑÙ. Ç, µÀû Ƣ»óÈ£碯 ScriptAliasú ơÀ âÉÀ» ÀÇ ¯ÇÑ ÀÛÀÌ ÇÊäÇÏÙ.

# Host: Çìõ öíÀ» òÂÙ
UseCanonicalName Off

# splittable logs
LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon

<Directory /www/hosts>
# ScriptAlias ÄÀÎ CGI ÇÇàÀ» ơÁ¦ÇÒ ö âҡש碯
# ©â ExecCGI¦ »çëÇÑÙ
Options FollowSymLinks ExecCGI
</Directory>

# ÀÌÁ¦ îÁî ÎÀÌÙ

RewriteEngine On

# Host: Çìõ ƢÁ碯 öí ëÒÀÚƢ µÚ¯©ÀÖÀ» ö ÀÖÙ
RewriteMap lowercase int:tolower

## ÀÏÝ ¦ ÕÀú ÃÇÑÙ:
# Alias /icons/ Ƣ µÀÛÇϵµÏ - Ù¥ alias ëǵµ Ý
RewriteCond %{REQUEST_URI} !^/icons/
# CGIƢ µÀÛÇϵµÏ
RewriteCond %{REQUEST_URI} !^/cgi-bin/
# ¯ÇÑ ÀÛ
RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1

## ÀÌÁ¦ CGI¦ ÃÇÑÙ - MIME typeÀ» ơÁ¦Ç ÇÑÙ
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [T=application/x-httpd-cgi]

# !

top

mod_rewrite¦ »çëÇÑ ÈäÀÌÁö ÃÅÛ s375h

ÙÀÀ µÎÂ Í ơÀ ÀÏÀ» ÇÑÙ.

RewriteEngine on

RewriteMap lowercase int:tolower

# CGIƢ µÀÛÇϵµÏ
RewriteCond %{REQUEST_URI} !^/cgi-bin/

# RewriteRuleÀÌ µÀÛÇϵµÏ È£碬íÀÌ ÃÙ¥Áö Ë»çÇÑÙ
RewriteCond ${lowercase:%{SERVER_NAME}} ^www\.[a-z-]+\.isp\.com$

# Ƣ»óÈ£碬íÀ» URI Õ ÙÀÎÙ
# [C] ÀÌ áú¦ ƢÁöí ÙÀ ÀçÀÛÀ» öÇàÇÔÀ» ҩÇÑÙ
RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]

# ÀÌÁ¦ ÇÁ¦ ÄÀÏíÀ» µçÙ
RewriteRule ^www\.([a-z-]+)\.isp\.com/(.*) /home/$1/$2

# Àüà CGI µÅä碬¦ ÁÀÇÇÑÙ
ScriptAlias /cgi-bin/ /www/std-cgi/

top

µµÀÇ Ƣ»óÈ£ ÁÄÀÏ »çëÇÏâ 19535w

ÙÀÀ mod_rewriteÀÇ í âÉÀ» »çëÇÏ© µµÀÇ ÁÄÀÏÀ» ƢÁöí Ƣ»óÈ£ÀÇ ç碬¦ ËÙ. õ À¯¬ÇÏÁö õ ÀâÇÑ ÁÀÌ ÇÊäÇÏÙ.

vhost.map ÄÀÏÀ ÙÀú ơƢÙ:

www.customer-1.com /www/customers/1
www.customer-2.com /www/customers/2
# ...
www.customer-N.com /www/customers/N

http.conf ÙÀú ơƢÙ:

RewriteEngine on

RewriteMap lowercase int:tolower

# ëÀÀÄÀÏÀ» ÁÀÇÇÑÙ
RewriteMap vhost txt:/www/conf/vhost.map

# ÀעÍ ơÀÌ aliasµéÀ» ÃÇÑÙ
RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
# ÄÀÏ »ëÀ» ƢÁöí ãÂÙ
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/docs/$1

RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1

ƢÉÇÑ î:  tr 

top

Comments 2p1l6j

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our s if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.