Apache HTTP Server Version 2.2
This document refers to the 2.2 version of Apache httpd, which is no longer maintained. The active release is documented here. If you have not already upgraded, please follow this link for more information.
You may follow this link to go to the current version of this document.
¾ÆÆÄÄ¡ À¥¼¹ö´Â ȯ°æº¯¼ö(environment variable)¶ó´Â º¯¼ö¿¡ Á¤º¸¸¦ ÀúÀåÇÒ ¼ö ÀÖ´Ù. ÀÌ Á¤º¸¸¦ »ç¿ëÇÏ¿© ·Î±×³ª Á¢±ÙÁ¦¾î µî ¿©·¯ ÀÛ¾÷À» Á¶ÀýÇÑ´Ù. ¶Ç, ȯ°æº¯¼ö´Â CGI ½ºÅ©¸³Æ®¿Í °°Àº ¿ÜºÎ ÇÁ·Î±×·¥°ú Åë½ÅÇÏ´Â ¼ö´ÜÀÌ µÈ´Ù. ÀÌ ¹®¼´Â ȯ°æº¯¼ö¸¦ ´Ù·ç°í »ç¿ëÇÏ´Â ´Ù¾çÇÑ ¹æ¹ýµéÀ» ¼³¸íÇÑ´Ù.
ÀÌ º¯¼öµéÀ» ȯ°æº¯¼ö¶ó°í ºÎ¸£Áö¸¸, ¿î¿µÃ¼Á¦¿¡¼ ¸»Çϴ ȯ°æº¯¼ö¿Í ´Ù¸£´Ù. ÀÌ º¯¼ö´Â ¾ÆÆÄÄ¡ ³»ºÎ¿¡ ÀúÀåµÇ°í »ç¿ëµÈ´Ù. ȯ°æº¯¼ö´Â CGI ½ºÅ©¸³Æ®³ª Server Side Include ½ºÅ©¸³Æ®·Î ³Ñ°ÜÁú¶§¸¸ ½ÇÁ¦ ¿î¿µÃ¼Á¦ ȯ°æº¯¼ö°¡ µÈ´Ù. ¼¹ö¸¦ ½ÇÇàÇÏ´Â ¿î¿µÃ¼Á¦ ȯ°æÀ» ¼öÁ¤ÇÏ°í ½Í´Ù¸é ¿î¿µÃ¼Á¦ ½©¿¡¼ ȯ°æÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù.
°ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
---|---|
¾ÆÆÄÄ¡¿¡¼ ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÏ´Â °¡Àå ±âº»ÀûÀÎ ¹æ¹ýÀº
¹«Á¶°ÇÀûÀÎ SetEnv
Áö½Ã¾î¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. PassEnv
Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
¼¹ö¸¦ ½ÃÀÛÇÑ ½©¿¡¼ ȯ°æº¯¼ö¸¦ °¡Á®¿Ã ¼öµµ ÀÖ´Ù.
´õ À¯¿¬ÇÏ°Ô, mod_setenvif°¡ Á¦°øÇÏ´Â Áö½Ã¾î´Â ¿äû¸¶´Ù
¿äûÀÇ Æ¯Â¡¿¡ µû¶ó ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù. ¿¹¸¦ µé¾î, ƯÁ¤
ºê¶ó¿ìÀú·Î (User-Agent) ¿äûÇϰųª ƯÁ¤ Referer (¸ÂÃã¹ýÀÌ
Ʋ¸®Áö ¾Ê¾Ò´Ù) Çì´õ°¡ ÀÖ´Â °æ¿ì¿¡¸¸ º¯¼ö¸¦ ¼³Á¤ÇÒ ¼ö
ÀÖ´Ù. ½ÉÁö¾î mod_rewrite¿¡ ÀÖ´Â RewriteRule
ÀÇ
[E=...]
¿É¼ÇÀ» »ç¿ëÇÏ¿© ´õ À¯¿¬ÇÏ°Ô È¯°æº¯¼ö¸¦
¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù.
¸¶Áö¸·À¸·Î mod_unique_id´Â °¢ ¿äû¿¡ ´ëÇØ ¾î¶² °æ¿ì¿¡µµ
"¸ðµç" ¿äûÁß¿¡ È®½ÇÈ÷ À¯ÀÏÇÑ(°ãÄ¡Áö¾ÊÀº) °ªÀ¸·Î
UNIQUE_ID
ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù.
CGI ½ºÅ©¸³Æ®¿Í SSI ¹®¼´Â ¾ÆÆÄÄ¡ ¼³Á¤¿¡¼ ¼³Á¤ÇÏ¿´°Å³ª ½©¿¡¼ °¡Á®¿Â ȯ°æº¯¼ö ¿Ü¿¡ Ãß°¡·Î CGI ±Ô¾àÀÌ ±ÔÁ¤ÇÑ ¿äû¿¡ ´ëÇÑ Á¤º¸¸¦ ¾Ë·ÁÁִ ȯ°æº¯¼öµéÀ» ¹Þ´Â´Ù.
suexec.c
¿¡ Á¤ÀǵȴÙ.°ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
---|---|
ȯ°æº¯¼öÀÇ ÁÖµÈ ¿ëµµÁß Çϳª´Â CGI ½ºÅ©¸³Æ®¿Í Á¤º¸¸¦ ±³È¯ÇÏ´Â °ÍÀÌ´Ù. ¾Õ¿¡¼ ¼³¸íÇßµíÀÌ ¾ÆÆÄÄ¡ ¼³Á¤¿¡¼ ¼³Á¤ÇÑ º¯¼ö¿Ü¿¡ ¿äû¿¡ ´ëÇÑ Ç¥ÁØ Á¤º¸¸¦ °¡Áø º¯¼ö°¡ CGI ½ºÅ©¸³Æ®·Î ³Ñ¾î°£´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº CGI ÅõÅ丮¾óÀ» Âü°íÇ϶ó.
mod_includeÀÇ INCLUDES
ÇÊÅÍ°¡ ó¸®ÇÏ´Â
¼¹öÆÄ½Ì (SSI) ¹®¼´Â echo
¿ä¼Ò¸¦ »ç¿ëÇÏ¿©
ȯ°æº¯¼ö¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ°í, ȯ°æº¯¼ö¸¦ »ç¿ëÇÏ¿© ¿äûÀÇ
Ư¡¿¡ µû¶ó È帧Á¦¾î ¿ä¼Ò·Î ÆäÀÌÁöÀÇ ÀϺθ¦ º¯°æÇÒ ¼ö
ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ¶Ç SSI ¹®¼¿¡°Ô À§¿¡¼ ¼³¸íÇÑ Ç¥ÁØ CGI
ȯ°æº¯¼ö¸¦ Á¦°øÇÑ´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº SSI ÅõÅ丮¾óÀ» Âü°íÇ϶ó.
allow from env=
°ú deny from env=
Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ȯ°æº¯¼ö °ª¿¡ µû¶ó ¼¹ö·ÎÀÇ Á¢±ÙÀ»
Á¶ÀýÇÒ ¼ö ÀÖ´Ù. SetEnvIf
¿Í °°ÀÌ »ç¿ëÇϸé
Ŭ¶óÀ̾ðÆ®ÀÇ Æ¯Â¡¿¡ µû¶ó ÀÚÀ¯·Ó°Ô ¼¹ö·ÎÀÇ Á¢±ÙÀ» Á¦¾îÇÒ
¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ƯÁ¤ ºê¶ó¿ìÀúÀÇ (User-Agent) Á¢±ÙÀ»
°ÅºÎÇÒ ¼ö ÀÖ´Ù.
LogFormat
ÀÇ
%e
¿É¼ÇÀ» »ç¿ëÇÏ¿© ȯ°æº¯¼ö¸¦ Á¢±Ù ·Î±×¿¡
±â·ÏÇÒ ¼ö ÀÖ´Ù. ¶Ç, CustomLog
Áö½Ã¾îÀÇ
Á¶°ÇºÎ Çü½ÄÀ» »ç¿ëÇϸé ȯ°æº¯¼öÀÇ »óȲ¿¡ µû¶ó ¿äûÀ»
·Î±×ÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÒ ¼ö ÀÖ´Ù. SetEnvIf
¿Í °°ÀÌ »ç¿ëÇÏ¿©
¾î¶² ¿äûÀ» ·Î±×ÇÒÁö ÀÚÀ¯·Ó°Ô °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î,
ÆÄÀϸíÀÌ gif
·Î ³¡³ª´Â ¿äûÀº ·Î±×ÇÏÁö ¾Ê°Å³ª,
¿ÜºÎ ³×Æ®¿÷¿¡ Àִ Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¸¸À» ·Î±×ÇÒ ¼ö ÀÖ´Ù.
Header
Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ÀÀ´äÀ» º¸³¾¶§ ȯ°æº¯¼öÀÇ À¯¹«¿¡
µû¶ó ¾î¶² HTTP Çì´õ¸¦ Æ÷ÇÔÇÒÁö °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦
µé¾î, Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ƯÁ¤ Çì´õ°¡ ÀÖ´Â °æ¿ì¿¡¸¸
¾î¶² ÀÀ´ä Çì´õ¸¦ º¸³¾ ¼ö ÀÖ´Ù.
mod_ext_filter
ÀÇ ExtFilterDefine
Áö½Ã¾î·Î ¼³Á¤ÇÑ ¿ÜºÎ ÇÊÅ͸¦ disableenv=
¿Í
enableenv=
¿É¼ÇÀ» »ç¿ëÇÏ¿© ȯ°æº¯¼ö¿¡ µû¶ó
¼±ÅÃÀûÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
RewriteCond
ÀÇ
TestString¿¡ %{ENV:...}
Çü½ÄÀ»
»ç¿ëÇϸé mod_rewriteÀÇ ÀçÀÛ¼º ¿£ÁøÀÌ È¯°æº¯¼ö¿¡ µû¶ó
´Ù¸£°Ô ÇൿÇÑ´Ù. mod_rewrite¿¡¼ ¾Õ¿¡ ENV:
¸¦
ºÙÀÌÁö¾Ê°í Á¢±ÙÇÏ´Â º¯¼ö´Â ½ÇÁ¦ ȯ°æº¯¼ö°¡ ¾Æ´ÔÀ» ÁÖÀÇÇ϶ó.
±×µéÀº ´Ù¸¥ ¸ðµâ¿¡¼ ÀÐÀ» ¼ö ¾ø´Â mod_rewrite¿¡ ÇÑÁ¤µÈ
º¯¼ö´Ù.
Ŭ¶óÀ̾ðÆ®¿Í ¿øÈ°ÇÑ µ¿ÀÛÇϱâÀ§ÇØ ¾ÆÆÄÄ¡´Â Ưº°ÇÑ
Ŭ¶óÀ̾ðÆ®¿¡ ´ëÇØ ÀÚ½ÅÀÇ ÇൿÀ» ¼öÁ¤ÇÑ´Ù. º¸Åë BrowserMatch
¿¡¼
ȯ°æº¯¼ö¸¦ Á¤ÀÇÇÏ¿© ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇÑ´Ù. ±×·¯³ª SetEnv
¿Í PassEnv
·Îµµ °¡´ÉÇÏ´Ù.
¿äûÀÌ ÀÌÈÄ ¹öÀüÀ» »ç¿ëÇÏ´õ¶óµµ HTTP/1.0 ¿äûÀ¸·Î ó¸®ÇÑ´Ù.
DEFLATE
ÇÊÅ͸¦ »ç¿ëÇÒ¶§ ÀÌ È¯°æº¯¼ö´Â
ºê¶ó¿ìÀúÀÇ accept-encoding ¼³Á¤À» ¹«½ÃÇÏ°í ¹«Á¶°Ç
¾ÐÃàµÈ °á°ú¸¦ º¸³½´Ù.
ÀÀ´äÀ» Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³»±â Àü¿¡ ÀÀ´ä Çì´õ¿¡¼
Vary
Çʵ带 »«´Ù. ¾î¶² Ŭ¶óÀ̾ðÆ®´Â ÀÌ
Çʵ带 Á¦´ë·Î Çؼ®ÇÏÁö ¸øÇÑ´Ù. ÀÌ º¯¼ö´Â ÀÌ·± ¹®Á¦¸¦
ÇØ°áÇÑ´Ù. ¶ÇÇÑ, ÀÌ º¯¼ö´Â
force-response-1.0À» °¡Á¤ÇÑ´Ù.
HTTP/1.0 ¿äûÀ» Çϴ Ŭ¶óÀ̾ðÆ®¿¡°Ô HTTP/1.0 ÀÀ´äÀ» °Á¦ÇÑ´Ù. ¿ø·¡ AOL ÇÁ·Ï½Ã¿¡ ¹®Á¦°¡ ÀÖ¾î¼ ¸¸µé¾îÁ³´Ù. ¾î¶² HTTP/1.0 Ŭ¶óÀ̾ðÆ®´Â HTTP/1.1 ÀÀ´äÀ» ¹ÞÀ¸¸é Á¦´ë·Î µ¿ÀÛÇÏÁö ¾ÊÀ¸¹Ç·Î, ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâÀ§ÇØ »ç¿ëÇÑ´Ù.
°ªÀÌ "1"À̸é text/html
ÀÌ ¾Æ´Ñ content-type¿¡
´ëÇØ mod_deflate
ÀÇ DEFLATE Ãâ·ÂÇÊÅ͸¦
»ç¿ëÇÏÁö ¾Ê´Â´Ù. (gzip »Ó¸¸ ¾Æ´Ï¶ó "identity"°¡ ¾Æ´Ñ ¸ðµç
ÀÎÄÚµùÀÇ) Á¤ÀûÀ¸·Î ¾ÐÃàÇÑ ÆÄÀÏÀÇ °æ¿ì¿¡µµ
mod_negotiation
Àº ÀÌ º¯¼ö¸¦ Âü°íÇÑ´Ù.
ÀÌ ¿É¼ÇÀ» ¼³Á¤Çϸé mod_deflate
ÀÇ
DEFLATE
ÇÊÅ͸¦ »ç¿ëÇÏÁö ¾Ê°í,
mod_negotiation
Àº ÀÎÄÚµùµÈ ÀÚ¿øÀ»
º¸³»Áö ¾Ê´Â´Ù.
KeepAlive
¸¦
¹«½ÃÇÑ´Ù.
ÀÌ º¯¼ö´Â mod_negotiation
ÀÇ Çൿ¿¡
¿µÇâÀ» ¹ÌÄ£´Ù. º¯¼ö°¡ (en
, ja
,
x-klingon
µî) ¾ð¾îű׸¦ ´ã°íÀÖ´Ù¸é,
mod_negotiation
´Â ±× ¾ð¾î·Î µÈ º¯ÇüÀ»
º¸³»±æ ½ÃµµÇÑ´Ù. ±×·± º¯ÇüÀÌ ¾ø´Ù¸é ÀϹÝÀûÀÎ Çù»ó °úÁ¤À» ½ÃÀÛÇÑ´Ù.
¼¹ö°¡ ´õ Á¶½ÉÈ÷ Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù. º¸Åë ¸®´ÙÀÌ·º¼ÇÀ» ó¸®Çϴµ¥ ¹®Á¦°¡ Àִ Ŭ¶óÀ̾ðÆ®À» À§ÇØ »ç¿ëÇÑ´Ù. ¿ø·¡ MicrosoftÀÇ WebFolders ¼ÒÇÁÆ®¿þ¾î°¡ DAV ¸Þ½áµå¸¦ ÅëÇØ µð·ºÅ丮 ÀÚ¿øÀÇ ¸®´ÙÀÌ·º¼ÇÀ» ó¸®Çϴµ¥ ¹®Á¦°¡ ÀÖ¾î¼ ¸¸µé¾îÁ³´Ù.
2.0.40 ÀÌÈÄ ¹öÀü¿¡ ÀÖ´Ù
¾ÆÆÄÄ¡°¡ Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ¸®´ÙÀÌ·º¼ÇÀ» º¸³¾¶§ Ŭ¶óÀ̾ðÆ®°¡ ÀÚµ¿À¸·Î ¸®´ÙÀÌ·º¼ÇÀ» µû¶ó°¡Áö ¸øÇÏ´Â(ȤÀº ¾Ê´Â) °æ¿ì¿¡ ´ëºñÇÏ¿© ÀÀ´ä¿¡ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÙ ¹®±¸¸¦ Æ÷ÇÔÇÑ´Ù. ¾ÆÆÄÄ¡´Â º¸Åë ÀÌ ±ÛÀ» ¾ÆÆÄÄ¡°¡ »ç¿ëÇÏ´Â ¹®ÀÚÁýÇÕÀÎ ISO-8859-1·Î Ç¥½ÃÇÑ´Ù.
±×·¯³ª ¸®´ÙÀÌ·º¼ÇµÈ ÆäÀÌÁö°¡ ´Ù¸¥ ¹®ÀÚÁýÇÕÀ» »ç¿ëÇÒ °æ¿ì ¾î¶² ÀÌ»óÇÑ ºê¶ó¿ìÀú ¹öÀüÀº ½ÇÁ¦ ÆäÀÌÁö°¡ ¾Æ´Ï¶ó ¸®´ÙÀÌ·º¼Ç ÆäÀÌÁöÀÇ ¹®ÀÚÁýÇÕÀ» »ç¿ëÇÏ·Á°í ÇÑ´Ù. ¿¹¸¦ µé¾î, ±×¸®½º¾î°¡ ÀÌ»óÇÏ°Ô º¸ÀÏ ¼ö ÀÖ´Ù.
ÀÌ È¯°æº¯¼ö´Â ¾ÆÆÄÄ¡°¡ ¸®´ÙÀÌ·º¼Ç ÆäÀÌÁö¿¡ ¹®ÀÚÁýÇÕÀ» ¼³Á¤ÇÏÁö¾Êµµ·Ï ÇÏ¿©, ÀÌ·± ºê¶ó¿ìÀú°¡ ½ÇÁ¦ ÆäÀÌÁöÀÇ ¹®ÀÚÁýÇÕÀ» ¿Ã¹Ù·Î »ç¿ëÇÏ°Ô ¸¸µç´Ù.
Ŭ¶óÀ̾ðÆ®µéÀÇ ÀÌ¹Ì ¾Ë·ÁÁø ¹®Á¦¸¦ ÇØ°áÇϱâÀ§ÇØ httpd.conf¿¡ ´ÙÀ½ ³»¿ëÀ» Æ÷ÇÔÇÏ±æ ¹Ù¶õ´Ù.
# # ´ÙÀ½ Áö½Ã¾îµéÀº ÀϹÝÀûÀÎ HTTP ÀÀ´äÀ» º¯°æÇÑ´Ù. # ù¹ø° Áö½Ã¾î´Â Netscape 2.x¿Í À̸¦ °¡ÀåÇÑ ºê¶ó¿ìÀú¿¡°Ô # keepalive¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ÀÌµé ºê¶ó¿ìÀú ±¸Çö¿¡ ¹®Á¦°¡ ÀÖ´Ù. # µÎ¹ø° Áö½Ã¾î´Â HTTP/1.1 ±¸ÇöÀÌ À߸øµÇ¾ú°í 301À̳ª 302 # (¸®´ÙÀÌ·º¼Ç) ÀÀ´ä¿¡ »ç¿ëÇÑ keepalive¸¦ Á¦´ë·Î Áö¿øÇÏÁö # ¸øÇÏ´Â Microsoft Internet Explorer 4.0b2¸¦ À§ÇÑ °ÍÀÌ´Ù. # BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 # # ´ÙÀ½ Áö½Ã¾î´Â ±âº»ÀûÀÎ HTTP/1.1 ÀÀ´äÀ» ÀÌÇØÇÏÁö ¸øÇÏ¿© # HTTP/1.0 ±Ô¾àÀ» ¾î±â´Â ºê¶ó¿ìÀú¿¡°Ô HTTP/1.1 ÀÀ´äÀ» º¸³»Áö ¾Ê´Â´Ù. # BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0
ÀÌ ¿¹Á¦´Â À̹ÌÁö¿¡ ´ëÇÑ ¿äûÀ» Á¢±Ù ·Î±×¿¡ ±â·ÏÇÏÁö ¾Ê´Â´Ù. ƯÁ¤ µð·ºÅ丮¿¡ ´ëÇÑ È¤Àº ƯÁ¤ È£½ºÆ®¿¡¼ ¿Â ¿äûÀ» ·Î±×ÇÏÁö ¾Êµµ·Ï ½±°Ô ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
SetEnvIf Request_URI \.gif image-request SetEnvIf Request_URI \.jpg image-request SetEnvIf Request_URI \.png image-request CustomLog logs/access_log common env=!image-request
ÀÌ ¿¹´Â ÇöÀç ¼¹ö¿ÜÀÇ »ç¿ëÀÚ°¡ ÆäÀÌÁö¿¡ ¼¹ö¿¡ ÀÖ´Â À̹ÌÁö¸¦ Æ÷ÇÔÇÏÁö ¸øÇϵµ·Ï ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ÀÌ ¼³Á¤À» ±ÇÀåÇÏÁö´Â ¾ÊÀ¸¸ç, Á¦ÇÑµÈ °æ¿ì¿¡¸¸ µ¿ÀÛÇÑ´Ù. ¿ì¸®´Â ¸ðµç À̹ÌÁö°¡ /web/images µð·ºÅ丮 ¾È¿¡ ÀÖ´Ù°í °¡Á¤ÇÑ´Ù.
SetEnvIf Referer "^http://www.example.com/" local_referal # Referer Á¤º¸¸¦ º¸³»Áö ¾Ê´Â ºê¶ó¿ìÀú¸¦ Çã¿ëÇÑ´Ù SetEnvIf Referer "^$" local_referal <Directory /web/images> Order Deny,Allow Deny from all Allow from env=local_referal </Directory>
ÀÌ ±â¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ApacheToday ÅõÅ丮¾ó " Keeping Your Images from Adorning Other Sites"¸¦ Âü°íÇ϶ó.