Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2
è¨å®šãƒ•ァイルä¸ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯
サーãƒå…¨ä½“ã«é©ç”¨ã•れãŸã‚Šã€ç‰¹å®šã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„ファイルã€ãƒ›ã‚¹ãƒˆã€URL ã«ã®ã¿
é©ç”¨ã•れるよã†ã«åˆ¶é™ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®æ–‡æ›¸ã¯è¨å®šç”¨ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®
コンテナや .htaccess
ファイルを使ã£ã¦ä»–ã®è¨å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®
スコープを変更ã™ã‚‹æ–¹æ³•を説明ã—ã¾ã™ã€‚
関連モジュール | 関連ディレクティブ |
---|---|
コンテナã«ã¯äºŒã¤ã®åŸºæœ¬ã¨ãªã‚‹ç¨®é¡žãŒã‚りã¾ã™ã€‚ã»ã¨ã‚“ã©ã®ã‚³ãƒ³ãƒ†ãƒŠã¯
å„リクエストã«å¯¾ã—ã¦è©•価ã•れã¾ã™ã€‚ãã®å ´åˆã€ã‚³ãƒ³ãƒ†ãƒŠä¸ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯
コンテナã«ãƒžãƒƒãƒã™ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã®ã¿é©ç”¨ã•れã¾ã™ã€‚
一方ã€<IfDefine>
コンテナ. <IfModule>
コンテナ,
<IfVersion>
ã¯
サーãƒã®èµ·å‹•時ã¨å†èµ·å‹•時ã«ã®ã¿è©•価ã•れã¾ã™ã€‚èµ·å‹•æ™‚ã«æ¡ä»¶ãŒçœŸã§ã‚れã°ã€
コンテナä¸ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«é©ç”¨ã•れã¾ã™ã€‚æ¡ä»¶ãŒ
å½ã§ã‚れã°ã€ã‚³ãƒ³ãƒ†ãƒŠä¸ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ç„¡è¦–ã•れã¾ã™ã€‚
<IfDefine>
ディレクティブã¯
httpd
コマンドラインã§é©åˆ‡ãªãƒ‘ラメータãŒå®šç¾©ã•れãŸã¨ãã«ã®ã¿
é©ç”¨ã•れるディレクティブを囲ã„ã¾ã™ã€‚例ãˆã°æ¬¡ã®è¨å®šã§ã¯ã€ã‚µãƒ¼ãƒãŒ
httpd -DClosedForNow
を使ã£ã¦èµ·å‹•ã•れãŸã¨ãã ã‘ã™ã¹ã¦ã®
リクエストを別ã®ã‚µã‚¤ãƒˆã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™:
<IfDefine ClosedForNow>
Redirect / http://otherserver.example.com/
</IfDefine>
<IfModule>
ã¯
éžå¸¸ã«ä¼¼ã¦ã„ã¾ã™ãŒã€ä»£ã‚りã«ã‚µãƒ¼ãƒä¸Šã§ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒä½¿ç”¨å¯èƒ½ãªå ´åˆã«ã®ã¿
é©ç”¨å¯èƒ½ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を囲ã„ã¾ã™ã€‚モジュールã¯ã‚µãƒ¼ãƒã«
é™çš„ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ã‹ã€å‹•çš„ã«çµ„ã¿è¾¼ã‚€ã‚ˆã†ã«ãªã£ã¦ã„ã¦ã€è¨å®šãƒ•ァイルä¸ã§
LoadModule
ã®è¡ŒãŒã‚ˆã‚Šå‰ã®
éƒ¨åˆ†ã«æ›¸ã‹ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ç‰¹å®šã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®
å˜åœ¨ã«é–¢ã‚らãšè¨å®šãƒ•ァイルãŒå‹•作ã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã«ã®ã¿ä½¿ã£ã¦ãã ã•ã„。
常ã«å‹•作ã—ã¦æ¬²ã—ã„ディレクティブを囲むãŸã‚ã«ä½¿ã†ã¹ãã§ã¯ã‚りã¾ã›ã‚“。
å˜åœ¨ã—ãªã„モジュールã«é–¢ã™ã‚‹æœ‰ç”¨ãªã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®ç™ºç”Ÿã‚’抑制ã—ã¦ã—ã¾ã„ã¾ã™ã®ã§ã€‚
次ã®ä¾‹ã§ã¯ã€mod_mime_magic
ãŒã‚ã‚‹ã¨ãã«ã®ã¿ MimeMagicFiles
ディレクティブãŒ
é©ç”¨ã•れã¾ã™ã€‚
<IfModule mod_mime_magic.c>
MimeMagicFile conf/magic
</IfModule>
<IfVersion>
ディレクティブ㯠<IfDefine>
ã‚„ <IfModule>
ã«ã‚ˆãä¼¼ã¦ã„ã¾ã™ãŒã€ã‚µãƒ¼ãƒãŒç‰¹å®šã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã‚ã‚‹ã¨ãã«ã®ã¿æœ‰åйã«ã—ãŸã„
ディレクティブを囲むã®ã«ä½¿ã„ã¾ã™ã€‚
ãƒ†ã‚¹ãƒˆã‚¹ã‚¤ãƒ¼ãƒˆã‚„å¤§è¦æ¨¡ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãªã©ã®ã€ã•ã¾ã–ã¾ãªãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® httpd ã‚’
ç•°ãªã‚‹è¨å®šã§æ‰±ã†ç”¨é€”å‘ã‘ã«ãƒ‡ã‚¶ã‚¤ãƒ³ã•れã¦ã„ã¾ã™ã€‚
<IfVersion >= 2.1>
# this happens only in versions greater or
# equal 2.1.0.
</IfVersion>
<IfDefine>
ディレクティブ,
<IfModule>
ディレクティブ,
<IfVersion>
ディレクティブã¯
テストã®å‰ã« "!" を付ã‘ã‚‹ã“ã¨ã§å¦å®šã®æ¡ä»¶ã‚’é©ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
ã¾ãŸã€ã“れらã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯ã‚ˆã‚Šè¤‡é›‘ãªåˆ¶é™ã‚’課ã™ãŸã‚ã«å…¥ã‚Œåã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
最もよã使ã‚れるè¨å®šã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚³ãƒ³ãƒ†ãƒŠã¯ãƒ•ァイルシステムやウェブ空間ã®
特定ã®å ´æ‰€ã®è¨å®šã‚’変更ã™ã‚‹ã‚‚ã®ã§ã™ã€‚ã¾ãšã€ã“ã®äºŒã¤ã®é•ã„ã‚’ç†è§£ã™ã‚‹ã“ã¨ãŒ
大切ã§ã™ã€‚ファイルシステムã¯ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã‹ã‚‰è¦‹ãŸãƒ‡ã‚£ã‚¹ã‚¯ã®å†…容ã§ã™ã€‚
ãŸã¨ãˆã°ã€ãƒ‡ãƒ•ォルトã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ã¯ Apache 㯠Unix ファイルシステムã§ã¯
/usr/local/apache2
ã«ã€Windows ファイルシステムã§ã¯
"c:/Program Files/Apache Group/Apache2"
ã«å˜åœ¨ã—ã¾ã™ã€‚
(Apache ã§ã¯ Windows ã§ã‚‚パスセパレータã¨ã—ã¦ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’使ã†ã“ã¨ã«
æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„。) 対照的ã«ã€ã‚¦ã‚§ãƒ–空間ã¯ã‚ãªãŸã®ã‚µã‚¤ãƒˆã‚’
ウェブサーãƒã‹ã‚‰é…ä¿¡ã•れるもã®ã¨ã—ã¦è¦‹ãŸã‚‚ã®ã§ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¦‹ãˆã‚‹ã‚‚ã®ã§ã™ã€‚
デフォルト㮠Unix 上㮠Apache ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ã¯ã‚¦ã‚§ãƒ–空間ã®
/dir/
ã¨ã„ã†ãƒ‘スã¯ãƒ•ァイルシステムã®
/usr/local/apache2/htdocs/dir/
ã¨ã„ã†ãƒ‘スã«å¯¾å¿œã—ã¾ã™ã€‚
ウェブページã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚„ä»–ã®å ´æ‰€ã‹ã‚‰å‹•çš„ã«ç”Ÿæˆã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã®ã§ã€
ウェブ空間ã¯ãƒ•ァイルシステムã«ç›´æŽ¥ãƒžãƒƒãƒ—ã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。
<Directory>
ディレクティブã¨
<Files>
ディレクティブã€ãれã¨
ãã‚Œã‚‰ã®æ£è¦è¡¨ç¾ç‰ˆã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’
ファイルシステムã®ä¸€éƒ¨åˆ†ã«å¯¾ã—ã¦é©ç”¨ã—ã¾ã™ã€‚
<Directory>
セクションã®
ä¸ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯æŒ‡å®šã•れãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ãã®ã™ã¹ã¦ã®ã‚µãƒ–ディレクトリã«
é©ç”¨ã•れã¾ã™ã€‚.htaccess ファイルを
使ã†ã“ã¨ã§ã‚‚åŒã˜åŠ¹æžœã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°ã€æ¬¡ã®è¨å®šã§ã¯
/var/web/dir1
ã¨ã™ã¹ã¦ã®ã‚µãƒ–ディレクトリã«å¯¾ã—ã¦
ディレクトリインデックスを行ãªã„ã¾ã™ã€‚
<Directory /var/web/dir1>
Options +Indexes
</Directory>
<Files>
セクションã®
ä¸ã«ã‚るディレクティブã¯ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚ã‚‹ã‹ã«é–¢ã‚らãšã€æŒ‡å®šã•れãŸåå‰ã®
ã™ã¹ã¦ã®ãƒ•ァイルã«é©ç”¨ã•れã¾ã™ã€‚ã§ã™ã‹ã‚‰ä¾‹ãˆã°ä»¥ä¸‹ã®è¨å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒ
è¨å®šãƒ•ァイルã®ä¸»ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã«æ›¸ã‹ã‚ŒãŸã¨ãã«ã¯ã€ã™ã¹ã¦ã®å ´æ‰€ã®
private.html
ã¨ã„ã†åå‰ã®ãƒ•ァイルã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã—ã¾ã™ã€‚
<Files private.html>
Order allow,deny
Deny from all
</Files>
ファイルシステムã®ç‰¹å®šã®å ´æ‰€ã«ã‚るファイルを指定ã™ã‚‹ãŸã‚ã«ã€
<Files>
セクションã¨
<Directory>
セクションを
組ã¿åˆã‚ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°ã€æ¬¡ã®è¨å®šã§ã¯
/var/web/dir1/private.html
,
/var/web/dir1/subdir2/private.html
,
/var/web/dir1/subdir3/private.html
ãªã©ã€
/var/web/dir1/
ディレクトリã®ä¸‹ã«ã‚ã‚‹ã™ã¹ã¦ã®
private.html
ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã—ã¾ã™ã€‚
<Directory /var/web/dir1>
<Files private.html>
Order allow,deny
Deny from all
</Files>
</Directory>
一方ã€<Location>
ディレクティブã¨ãã®æ£è¦è¡¨ç¾ç‰ˆã¯ã‚¦ã‚§ãƒ–空間上ã®å†…容ã«å¯¾ã—ã¦è¨å®šã‚’変更ã—ã¾ã™ã€‚
ãŸã¨ãˆã°ã€æ¬¡ã®è¨å®šã§ã¯ /private ã§å§‹ã¾ã‚‹ URL パスã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã—ã¾ã™ã€‚
具体的ã«ã¯ã€
http://yoursite.example.com/private
,
http://yoursite.example.com/private123
,
http://yoursite.example.com/private/dir/file.html
ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚„ã€
ä»–ã®åŒæ§˜ã« /private
æ–‡å—列ã§å§‹ã¾ã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«
é©ç”¨ã•れã¾ã™ã€‚
<Location /private>
Order Allow,Deny
Deny from all
</Location>
<Location>
ディレクティブã¯ãƒ•ァイルシステムã¨é–¢ä¿‚ã‚ã‚‹å¿…è¦ãŒå…¨ãã‚りã¾ã›ã‚“。
ãŸã¨ãˆã°æ¬¡ã®ä¾‹ã§ã¯ã€ã©ã®ã‚ˆã†ã«ã—ã¦ç‰¹å®šã® URL ã‚’
mod_status
ã§æä¾›ã•れã¦ã„ã‚‹ Apache
内部ãƒãƒ³ãƒ‰ãƒ©ã«ãƒžãƒƒãƒ—ã™ã‚‹ã‹ã‚’示ã—ã¦ã„ã¾ã™ã€‚ファイルシステムã«
server-status
ã¨ã„ã†ãƒ•ァイルãŒå˜åœ¨ã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。
<Location /server-status>
SetHandler server-status
</Location>
<Directory>
,
<Files>
,
<Location>
ディレクティブã§ã¯ã€ C 標準ライブラリ㮠fnmatch
ã®ã‚ˆã†ã«
shell スタイルã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã‚ャラクタãŒä½¿ç”¨ã§ãã¾ã™ã€‚
"*" æ–‡å—ã¯ä»»æ„ã®æ–‡å—列ã«ãƒžãƒƒãƒã—ã€"?" æ–‡å—ã¯ä»»æ„ã® 1 æ–‡å—ã«ãƒžãƒƒãƒã—ã€
"[seq]" 㯠seq ã®ä»»æ„ã®æ–‡å—ã«ãƒžãƒƒãƒã—ã¾ã™ã€‚
"/" æ–‡å—ã¯ã©ã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã§ã‚‚マッãƒã•れã¾ã›ã‚“。
æ˜Žç¤ºçš„ã«æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
ã“れより柔軟ãªãƒžãƒƒãƒãƒ³ã‚°ãŒå¿…è¦ãªå ´åˆã¯ã€ã“れらã®ã‚³ãƒ³ãƒ†ãƒŠã«æ£è¦è¡¨ç¾
(regex) 版ã§ã‚ã‚‹
<DirectoryMatch>
,
<FilesMatch>
,
<LocationMatch>
ãŒã‚りã€ãƒžãƒƒãƒã‚’é¸æŠžã™ã‚‹ã®ã« perl äº’æ›æ£è¦è¡¨ç¾ã‚’使用ã§ãã¾ã™ã€‚ã—ã‹ã—ã€æ¬¡ã®è¨å®šã®ãƒžãƒ¼ã‚¸ã«ç›®ã‚’通ã—ã¦ã€
æ£è¦è¡¨ç¾ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’使用ã™ã‚‹ã“ã¨ã§ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®é©ç”¨ãŒã©ã®ã‚ˆã†ã«
変化ã™ã‚‹ã‹æŠŠæ¡ã—ã¦ãŠã„ã¦ãã ã•ã„。
全ユーザディレクトリã®è¨å®šã‚’変更ã™ã‚‹ã€éž regex ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
<Directory /home/*/public_html>
Options Indexes
</Directory>
regex セクションを使用ã™ã‚‹ã“ã¨ã§ã€ç”»åƒãƒ•ァイルã®å¤šãã®ã‚¿ã‚¤ãƒ—ã«å¯¾ã™ã‚‹ ã‚¢ã‚¯ã‚»ã‚¹ã‚’ä¸€åº¦ã«æ‹’å¦ã§ãã¾ã™ã€‚
<FilesMatch \.(?i:gif|jpe?g|png)$>
Order allow,deny
Deny from all
</FilesMatch>
ファイルシステムコンテナã¨ã‚¦ã‚§ãƒ–空間コンテナを使ã„分ã‘ã‚‹ã®ã¯ã€
実際ã«ã¯éžå¸¸ã«ç°¡å˜ã§ã™ã€‚ファイルシステムã«ä¾å˜ã™ã‚‹
オブジェクトã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’é©å¿œã™ã‚‹å ´åˆã¯ã€å¿…ãš
<Directory>
ã‹
<Files>
を使用ã—ã¾ã™ã€‚ファイルシステムã«ä¾å˜ã—ãªã„オブジェクト
(データベースã‹ã‚‰ç”Ÿæˆã•れるウェブページãªã©)
ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’é©ç”¨ã™ã‚‹éš›ã«ã¯ã€
<Location>
を使用ã—ã¾ã™ã€‚
ファイルシステム上ã®ã‚ªãƒ–ジェクトã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã™ã‚‹ãŸã‚ã«ã€
<Location>
を決ã—ã¦ä½¿ç”¨ã—ãªã„よã†ã«ã—ã¾ã—ょã†ã€‚
åŒä¸€ã®ãƒ•ァイルシステムä½ç½®ã«ãƒžãƒƒãƒ—ã—ã¦ã„ã‚‹ã€ã‚¦ã‚§ãƒ–空間ä½ç½® (URL)
ãŒå¤šæ•°ã‚ã£ã¦ã€è¨å®šã—ãŸåˆ¶é™ã‚’迂回ã•れã¦ã—ã¾ã†ã‹ã‚‚ã—れãªã„ã‹ã‚‰ã§ã™ã€‚
例ãˆã°æ¬¡ã®è¨å®šã‚’考ãˆã¦ã¿ã¾ã—ょã†ã€‚
<Location /dir/>
Order allow,deny
Deny from all
</Location>
http://yoursite.example.com/dir/
ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã¯ä¸Šæ‰‹ã動作ã—ã¾ã™ã€‚ã—ã‹ã—大文å—å°æ–‡å—を区別ã—ãªã„
ファイルシステムを使ã£ã¦ã„ãŸã‚‰ã©ã†ãªã‚‹ã§ã—ょã†?
http://yoursite.example.com/DIR/
ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ç°¡å˜ã«ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ã‚’迂回ã•れã¦ã—ã¾ã„ã¾ã™ã€‚ã“れã«å¯¾ã—ã¦
<Directory>
ディレクティブを使用ã™ã‚‹ã¨ã€ã©ã®ã‚ˆã†ã«å‘¼ã³å‡ºã•れãŸã‹ã«é–¢ã‚らãš
ãã®å ´æ‰€ã‹ã‚‰æä¾›ã•れる内容ã«é©ç”¨ã•れã¾ã™ã€‚
(例外ã¯ãƒ•ァイルシステムã®ãƒªãƒ³ã‚¯ã§ã™ã€‚シンボリックリンクを使ã£ã¦ã€
åŒä¸€ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’複数ã®ãƒ•ァイルシステムã«è¨ç½®ã§ãã¾ã™ã€‚
<Directory>
ディレクティブã¯ãƒ‘スåをリセットã™ã‚‹ã“ã¨ãªãシンボリックリンクを
辿りã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€é«˜åº¦ãªã‚»ã‚ュリティãŒè¦æ±‚ã•ã‚Œã‚‹å ´åˆã¯ã€
é©åˆ‡ã« Options
ディレクティブを使用ã—ã¦ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’無効ã«ã™ã‚‹ã¹ãã§ã™ã€‚)
大文å—å°æ–‡å—を区別ã™ã‚‹ãƒ•ァイルシステムを使用ã—ã¦ã„ã‚‹ã‹ã‚‰ä¸Šè¨˜ã®ã“ã¨ã¯
無関係ã ã¨æ€ã‚れるã‹ã‚‚ã—れã¾ã›ã‚“ãŒã€
åŒä¸€ã®ãƒ•ァイルシステムä½ç½®ã«è¤‡æ•°ã®ã‚¦ã‚§ãƒ–空間ä½ç½®ã‚’マップã™ã‚‹æ–¹æ³•ã¯ã€
ä»–ã«ã„ãらã§ã‚‚ã‚ã‚‹ã¨ã„ã†ã“ã¨ã‚’覚ãˆã¦ã„ã¦ãã ã•ã„。
ã§ã™ã‹ã‚‰ã§ãã‚‹é™ã‚Šãƒ•ァイルシステムコンテナを使用ã—ã¦ãã ã•ã„。
ã—ã‹ã—ãªãŒã‚‰ä¸€ã¤ã ã‘例外ãŒã‚りã¾ã™ã€‚
<Location />
セクションã¯ã©ã‚“㪠URL
ã«ã‚‚é–¢ã‚らãšé©ç”¨ã•れるã®ã§ã€å®Œå…¨ã«å®‰å…¨ã§ã™ã€‚
<VirtualHost>
コンテナã¯ç‰¹å®šã®ãƒ›ã‚¹ãƒˆã«é©ç”¨ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’æ ¼ç´ã—ã¾ã™ã€‚
一å°ã®ãƒžã‚·ãƒ³ã§è¤‡æ•°ã®ãƒ›ã‚¹ãƒˆã‚’ç•°ãªã‚‹è¨å®šã§æä¾›ã—ãŸã„ã¨ãã«æœ‰ç”¨ã§ã™ã€‚
詳細ã«é–¢ã—ã¦ã¯ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãƒ‰ã‚ュメントを
ã”覧下ã•ã„。
<Proxy>
㨠<ProxyMatch>
コンテナã¯ã€ç‰¹å®šã® URL ã«ãƒžãƒƒãƒã™ã‚‹ mod_proxy
プãƒã‚¯ã‚·ã‚µãƒ¼ãƒã‚’経由ã—ã¦ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã‚µã‚¤ãƒˆã«å¯¾ã—ã¦ã®ã¿é©ç”¨ã•れる
è¨å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’æ ¼ç´ã—ã¾ã™ã€‚例ãˆã°æ¬¡ã®è¨å®šã¯ã€cnn.com
ウェブサイトã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«ç”¨ã„られるプãƒã‚¯ã‚·ã‚µãƒ¼ãƒã‚’
制é™ã—ã¾ã™ã€‚
<Proxy http://cnn.com/*>
Order allow,deny
Deny from all
</Proxy>
ã©ã®ã‚¿ã‚¤ãƒ—ã®è¨å®šã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒä½¿ç”¨ã§ãã‚‹ã‹ã¯ã€
ディレクティブ㮠Context
を見ã¦ãã ã•ã„。
<Directory>
ã§ä½¿ç”¨å¯èƒ½ãªã‚‚ã®ã¯å…¨ã¦ã€åŒæ§˜ã«
<DirectoryMatch>
,
<Files>
,
<FilesMatch>
,
<Location>
,
<LocationMatch>
,
<Proxy>
,
<ProxyMatch>
セクションã§ä½¿ç”¨å¯èƒ½ã§ã™ã€‚ã—ã‹ã—ãªãŒã‚‰å¹¾ã¤ã‹ä¾‹å¤–ã‚‚å˜åœ¨ã—ã¾ã™ã€‚
AllowOverride
ディレクティブã¯
<Directory>
セクションã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã€‚FollowSymLinks
㨠SymLinksIfOwnerMatch
ã®
Options
ã¯ã€
<Directory>
セクション㋠.htaccess
ファイルã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã€‚Options
ディレクティブã¯ã€
<Files>
㨠<FilesMatch>
セクションã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。マージã®é †ç•ªã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™:
<Directory>
(æ£è¦è¡¨ç¾ç„¡ã—) ã¨
.htaccess
ã‚’åŒæ™‚ã« (.htaccess
ãŒè¨±å¯ã•れã¦ã„れã°ã€ãれãŒ
<Directory>
を上書ãã—ã¾ã™)
<DirectoryMatch>
(㨠<Directory ~>
<Files>
ã¨
<FilesMatch>
ã‚’åŒæ™‚ã«<Location>
ã¨
<LocationMatch>
ã‚’åŒæ™‚ã«<Directory>
以外ã¯ã€ãれãžã‚Œã®ã‚°ãƒ«ãƒ¼ãƒ—ã¯è¨å®šãƒ•ァイルã«ç¾ã‚ŒãŸé †ç•ªã«å‡¦ç†ã•れã¾ã™ã€‚
<Directory>
(上ã®ã‚°ãƒ«ãƒ¼ãƒ— 1)
ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒçŸã„ã‚‚ã®ã‹ã‚‰é•·ã„ã‚‚ã®ã¸ã¨å‡¦ç†ã•れã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€
例ãˆã° <Directory /var/web/dir1>
ã¯
<Directory /var/web/dir/subdir>
ã®å‰ã«å‡¦ç†ã•れã¾ã™ã€‚複数ã®
<Directory>
セクションãŒ
åŒã˜ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«
é©ç”¨ã•ã‚Œã‚‹å ´åˆã¯ã€è¨å®šãƒ•ァイルä¸ã®é †ç•ªã«å¾“ã£ã¦å‡¦ç†ã•れã¾ã™ã€‚
Include
ã«ã‚ˆã£ã¦æŒ¿å…¥ã•れãŸè¨å®šã¯ 挿入ã—ã¦ã„るファイルã®
Include
ディレクティブã®ä½ç½®ã«ã‚ã£ãŸã‹ã®ã‚ˆã†ã«æ‰±ã‚れã¾ã™ã€‚
<VirtualHost>
セクションä¸ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯
ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®å®šç¾©ã®å¤–å´ã®å¯¾å¿œã™ã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®
後ã«é©ç”¨ã•れã¾ã™ã€‚ã“れã«ã‚ˆã‚Šãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒ
メインã®ã‚µãƒ¼ãƒè¨å®šã‚’上書ãã§ãるよã†ãªã‚Šã¾ã™ã€‚
mod_proxy
ã§ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒå‡¦ç†ã•ã‚Œã‚‹å ´åˆã¯ã€
処ç†é †ç•ªã®ã†ã¡ã€<Directory>
コンテナã®éƒ¨åˆ†ãŒ
<Proxy>
コンテナã«å–ã£ã¦ä»£ã‚られã¾ã™ã€‚
後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒå‰ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚‚ã®ã‚’上書ãã—ã¾ã™ã€‚
Alias
ã‚„
DocumentRoot
ãŒä½¿ç”¨ã•れるã¨ã“ã‚) ã®ç›´å‰ã«
<Location>
/<LocationMatch>
ãŒè¡Œãªã‚れã¾ã™ã€‚
ã“れらをé©ç”¨ã—ãŸçµæžœã¯å¤‰æ›ãŒçµ‚ã‚ã£ãŸå¾Œã«å®Œå…¨ã«æ¨ã¦ã‚‰ã‚Œã¾ã™ã€‚
次ã¯ãƒžãƒ¼ã‚¸ã®é †ç•ªã‚’示ã™ãŸã‚ã®æ£æ„çš„ãªä¾‹ã«ãªã£ã¦ã„ã¾ã™ã€‚ リクエスト全ã¦ã«é©ç”¨ã•れるã¨ã—ã¦ã€æœ¬ä¾‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠A > B > C > D > E ã®é †ç•ªã«é©ç”¨ã•れã¾ã™ã€‚
<Location />
E
</Location>
<Files f.html>
D
</Files>
<VirtualHost *>
<Directory /a/b>
B
</Directory>
</VirtualHost>
<DirectoryMatch "^.*b$">
C
</DirectoryMatch>
<Directory /a/b>
A
</Directory>
ã‚‚ã£ã¨å…·ä½“çš„ãªã€æ¬¡ã®ä¾‹ã‚’考ãˆã¦ã¿ã¾ã—ょã†ã€‚
<Directory>
セクションã«è¨ç½®ã•れãŸã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ã«é–¢ã‚らãšã€
<Location>
ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãŒæœ€å¾Œã«è©•価ã•れã¦ã€ã‚µãƒ¼ãƒã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯åˆ¶é™ã•れã¾ã›ã‚“。
è¨€ã„æ›ãˆã‚Œã°ã€ãƒžãƒ¼ã‚¸ã®é †ç•ªã¯é‡è¦ã§ã€æ³¨æ„ã—ã¦ä½¿ç”¨ã—ã¦ãã ã•ã„!
<Location />
Order deny,allow
Allow from all
</Location>
# Woops! This <Directory> section will have no effect
<Directory />
Order allow,deny
Allow from all
Deny from badguy.example.com
</Directory>