Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2
説明: | HTTP/1.1 プãƒã‚ã‚·/ゲートウェイサーム|
---|---|
ステータス: | Extension |
モジュールè˜åˆ¥å: | proxy_module |
ソースファイル: | mod_proxy.c |
サーãƒã‚’安全ã«ã™ã‚‹ã¾ã§ ProxyRequests
ã¯æœ‰åйã«ã—ãªã„ã§ãã ã•ã„。
オープンプãƒã‚シサーãƒã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚ã€
インターãƒãƒƒãƒˆå…¨ä½“ã«ã¨ã£ã¦ã‚‚å±é™ºã§ã™ã€‚
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ Apache ã®ãƒ—ãƒã‚ã‚·/ゲートウェイ機能を実装ã—ã¦ã„ã¾ã™ã€‚
AJP13
(Apache JServe Protocol version 1.3),
FTP
, CONNECT
(SSL 用),
HTTP/0.9
, HTTP/1.0
, HTTP/1.1
ã®ãƒ—ãƒã‚シ機能を実装ã—ã¦ã„ã¾ã™ã€‚ã“れらã®ãƒ—ãƒãƒˆã‚³ãƒ«ã‚„ãã®ä»–ã®ãƒ—ãƒãƒˆã‚³ãƒ«ç”¨ã®
プãƒã‚シ機能をæŒã£ãŸã€ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«æŽ¥ç¶šã™ã‚‹ã‚ˆã†ã«ã‚‚è¨å®šã§ãã¾ã™ã€‚
Apache ã®ãƒ—ãƒã‚シ機能㯠mod_proxy
ã®ä»–ã«ã€
ã„ãã¤ã‹ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«åˆ†å‰²ã•れã¦ã„ã¾ã™:
mod_proxy_http
, mod_proxy_ftp
,
mod_proxy_ajp
, mod_proxy_balancer
,
mod_proxy_connect
ã§ã™ã€‚ã§ã™ã‹ã‚‰ã€
特定ã®ãƒ—ãƒã‚ã‚·ã®æ©Ÿèƒ½ã‚’使ã„ãŸã„å ´åˆã¯ã€mod_proxy
ã¨
該当ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’サーãƒã« (コンパイル時ã«é™çš„ã«è¡Œãªã†ã‹
LoadModule
ã§å‹•çš„ã«èªã¿è¾¼ã‚€ã‹ã—ã¦)
組ã¿è¾¼ã‚€å¿…è¦ãŒã‚りã¾ã™ã€‚
ã“れã«åŠ ãˆã¦ã€ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã‚ˆã£ã¦æ‹¡å¼µæ©Ÿèƒ½ãŒæä¾›ã•れã¦ã„ã¾ã™ã€‚
ã‚ャッシュ㯠mod_cache
ã¨é–¢é€£ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§
æä¾›ã•れã¦ã„ã¾ã™ã€‚SSL/TLS ã§é 隔サーãƒã«æŽ¥ç¶šã™ã‚‹æ©Ÿèƒ½ã¯
mod_ssl
ã® SSLProxy*
ディレクティブã§
æä¾›ã•れã¦ã„ã¾ã™ã€‚ã“ã‚Œã‚‰ã®æ©Ÿèƒ½ã‚’利用ã™ã‚‹ãŸã‚ã«ã¯ã€è©²å½“ã™ã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’
組ã¿è¾¼ã‚“ã§è¨å®šã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。
Apache 㯠フォワード プãƒã‚ã‚·ã¨ã—ã¦ã‚‚〠リãƒãƒ¼ã‚¹ プãƒã‚ã‚· (別å ゲートウェイ) ã¨ã—ã¦ã‚‚è¨å®šã§ãã¾ã™ã€‚
通常㮠フォワードプãƒã‚ã‚· ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ オリジンサーム(訳注: コンテンツ生æˆå…ƒã®ã‚µãƒ¼ãƒ) ã®é–“ã«ä½ç½®ã™ã‚‹ä¸é–“サーãƒã§ã™ã€‚ オリジンサーãƒã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’å–å¾—ã™ã‚‹ãŸã‚ã«ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ 行ã先をオリジンサーãƒã«æŒ‡å®šã—ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’プãƒã‚ã‚·ã«é€ã‚Šã¾ã™ã€‚ プãƒã‚ã‚·ã¯ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’å—ã‘å–り〠å–å¾—ã—ãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„をクライアントã«è¿”ã—ã¾ã™ã€‚ クライアントãŒãƒ•ォワードプãƒã‚シ経由ã§ä»–ã®ã‚µã‚¤ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã«ã¯ã€ 特別ã«ãã®ãŸã‚ã®è¨å®šã‚’ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。
フォワードプãƒã‚ã‚·ã®ä¸€èˆ¬çš„ãªä½¿ç”¨æ–¹æ³•ã¯ã€ãƒ•ァイアウォールã«ã‚ˆã£ã¦
制é™ã•れã¦ã„る内部ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’
æä¾›ã™ã‚‹ã‚‚ã®ã§ã™ã€‚フォワードプãƒã‚ã‚·ã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ä½¿ç”¨é‡ã‚’
減らã™ãŸã‚ã« (mod_cache
ã§æä¾›ã•れã¦ã„ã‚‹)
ã‚ャッシュ機能を用ã„ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
フォワードプãƒã‚シ㯠ProxyRequests
ディレクティブã§
有効ã«ãªã‚Šã¾ã™ã€‚フォワードプãƒã‚シを使ã†ã¨ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯æœ¬å½“ã®èº«å…ƒã‚’
éš ã—ã¦ä»»æ„ã®ã‚µã‚¤ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ã“ã®ãŸã‚ã€ãƒ•ォワードプãƒã‚ã‚·ã‚’
有効ã«ã™ã‚‹å‰ã«ã€æ‰¿èªã•れãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ã¿ãŒãƒ—ãƒã‚ã‚·ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«
サーãƒã‚’安全ã«ã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚
一方 リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚· (ゲートウェイ) ã¯ã€ クライアントã‹ã‚‰æ™®é€šã®ã‚¦ã‚§ãƒ–サーãƒã®ã‚ˆã†ã«è¦‹ãˆã¾ã™ã€‚ クライアントå´ã«ç‰¹åˆ¥ãªè¨å®šã¯å¿…è¦ã‚りã¾ã›ã‚“。 クライアントã¯ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã®åå‰ç©ºé–“内ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«å¯¾ã—ã¦é€šå¸¸ã©ãŠã‚Šã® リクエストを行ãªã„ã¾ã™ã€‚リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ã©ã“ã«é€ã‚Œã°è‰¯ã„ã‹ã‚’判定ã—〠ã‚ãŸã‹ã‚‚自分自身ãŒã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã§ã‚ã£ãŸã‹ã®ã‚ˆã†ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã« コンテンツを返ã—ã¾ã™ã€‚
リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã®ã‚ˆãã‚る利用方法ã¯ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆãƒ¦ãƒ¼ã‚¶ã« ファイアウォールã®ä¸ã«ã‚るサーãƒã«ã‚¢ã‚¯ã‚»ã‚¹ã•ã›ã‚‹å ´åˆã§ã™ã€‚ リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã¯è¤‡æ•°ã®ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¸è² è·åˆ†æ•£ã‚’ã™ã‚‹ãŸã‚㫠使ã£ãŸã‚Šã€é…ã„ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã®ãŸã‚ã«ã‚ャッシュ機能をæä¾›ã—ãŸã‚Š ã™ã‚‹ãŸã‚ã«ã‚‚使ãˆã¾ã™ã€‚ã¾ãŸã€ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã¯è¤‡æ•°ã®ã‚µãƒ¼ãƒã‚’ åŒã˜ URL 空間ã«ã¾ã¨ã‚ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
リãƒãƒ¼ã‚¹ãƒ—ãƒã‚シ㯠ProxyPass
ディレクティブや
RewriteRule
ディレクティブã®
[P]
フラグを使ã†ã“ã¨ã§æœ‰åйã«ãªã‚Šã¾ã™ã€‚リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã®
è¨å®šã®ãŸã‚ã« ProxyRequests
ã‚’è¨å®šã™ã‚‹å¿…è¦ã¯
ã‚りã¾ã›ã‚“。
以下ã®ä¾‹ã¯æ‰‹å§‹ã‚ã®ç°¡å˜ãªä¾‹ã§ã™ã€‚個々ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®æ„味㯠ãれãžã‚Œã®èª¬æ˜Žã‚’ãŠèªã¿ãã ã•ã„。
ã¾ãŸã‚ャッシュ機能を有効ã«ã—ãŸã„å ´åˆã¯ã€mod_cache
ã®èª¬æ˜Žã‚’èªã‚“ã§ãã ã•ã„。
ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy>
プãƒã‚シ㯠ワーカー ã¨å‘¼ã°ã‚Œã‚‹ã‚ªãƒ–ジェクト㧠オリジンサーãƒã¨ã®é€šä¿¡ãƒ‘ラメータã®è¨å®šã‚’管ç†ã—ã¾ã™ã€‚ ãµãŸã¤ã®çµ„ã¿è¾¼ã¿ãƒ¯ãƒ¼ã‚«ãƒ¼ãŒå˜åœ¨ã—ã¾ã™ã€‚デフォルトã®ãƒ•ォワードプãƒã‚シワーカー㨠デフォルトã®ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚シワーカーã§ã™ã€‚ è¿½åŠ ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’明示的ã«è¨å®šå¯èƒ½ã§ã™ã€‚
ãµãŸã¤ã®ãƒ‡ãƒ•ォルトワーカーã¯å›ºå®šã®è¨å®šã‚’æŒã¡ã¾ã™ã€‚ リクエストãŒä»–ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã«ãƒžãƒƒãƒã—ãªã„å ´åˆã«ä½¿ã‚れã¾ã™ã€‚ ã“れら㯠HTTP ã®ã‚ープアライブもコãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ーリングも使ã„ã¾ã›ã‚“。 オリジンサーãƒã¸ã® TCP 接続ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãŸã³ã«æŽ¥ç¶šã¨åˆ‡æ–ã‚’ã—ã¾ã™ã€‚
明示的ã«è¨å®šã™ã‚‹ãƒ¯ãƒ¼ã‚«ãƒ¼ã¯ã€URL ã§è˜åˆ¥ã•れã¾ã™ã€‚
通常ã€ProxyPass
ã¾ãŸã¯ ProxyPassMatch
をリãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·è¨å®šã«ä½¿ã†ã“ã¨ã§ã€ã“れらã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’生æˆãŠã‚ˆã³è¨å®šã—ã¾ã™:
ProxyPass /example http://backend.example.com connectiontimeout=5 timeout=30
上記ã¯ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã® http://backend.example.com
ã® URL ã«é–¢é€£ã™ã‚‹ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’生æˆã—ã¾ã™ã€‚ãƒ¯ãƒ¼ã‚«ãƒ¼ã¯æŒ‡å®šã—ãŸã‚¿ã‚¤ãƒ アウト値をæŒã¡ã¾ã™ã€‚
フォワードプãƒã‚ã‚·ã§ä½¿ã‚れる時ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ã¯ä¸€èˆ¬ã«
ProxySet
ディレクティブã§
定義ã—ã¾ã™:
ProxySet http://backend.example.com connectiontimeout=5 timeout=30
ã¾ãŸã¯ã€åˆ¥ã®æ–¹æ³•ã¨ã—㦠Proxy
㨠ProxySet
ã§ã‚‚定義ã§ãã¾ã™:
<Proxy http://backend.example.com>
ProxySet connectiontimeout=5 timeout=30
</Proxy>
ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ãƒ¢ãƒ¼ãƒ‰ã§æ˜Žç¤ºçš„ã«è¨å®šã—ãŸãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’使ã†ã®ã¯ã€ã‚ã¾ã‚Šä¸€èˆ¬çš„ã§ã¯ã‚りã¾ã›ã‚“。
ãªãœãªã‚‰ã€é€šå¸¸ãƒ•ォワードプãƒã‚ã‚·ã¯å¤šãã®ç•°ãªã‚‹ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã¨é€šä¿¡ã™ã‚‹ã‹ã‚‰ã§ã™ã€‚
ã‚‚ã—一部ã®ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã‚’é »ç¹ã«åˆ©ç”¨ã™ã‚‹ãªã‚‰ã€ãれらã«å¯¾ã—ã¦
明示的ã«ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’生æˆã™ã‚‹ã®ã¯æœ‰ç”¨ã§ã™ã€‚明示的ã«è¨å®šã—ãŸãƒ¯ãƒ¼ã‚«ãƒ¼ã¯ã€
ãれ自体ã¯ãƒ•ォワードプãƒã‚ã‚·ã‹ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã‹ã®ã‚³ãƒ³ã‚»ãƒ—トをæŒã¡ã¾ã›ã‚“。
ãれらã¯ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã¨é€šä¿¡ã™ã‚‹å…±é€šã®ã‚³ãƒ³ã‚»ãƒ—トを抱ãˆã¦ã„ã¾ã™ã€‚
リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã§ä½¿ã†ãŸã‚ã« ProxyPass
ã§ç”Ÿæˆã—ãŸãƒ¯ãƒ¼ã‚«ãƒ¼ã¯ã€ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã¸ã® URL ãŒãƒ¯ãƒ¼ã‚«ãƒ¼ã® URL ã«ãƒžãƒƒãƒã™ã‚Œã°
ã„ã¤ã§ã‚‚フォワードプãƒã‚ã‚·ã¨ã—ã¦ä½¿ãˆã¾ã™ã€‚ã“れã¯ã€é€†ã‚‚æˆã‚Šç«‹ã¡ã¾ã™ã€‚
ワーカーをè˜åˆ¥ã™ã‚‹ URL ã¯ãã®ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã® URL ã§ã™ã€‚ URL ã¯æŒ‡å®šã—ãŸãƒ‘ス部分もå«ã¿ã¾ã™:
ProxyPass /examples http://backend.example.com/examples
ProxyPass /docs http://backend.example.com/docs
ã“ã®ä¾‹ã¯ãµãŸã¤ã®ç•°ãªã‚‹ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’定義ã—ã¦ã„ã¾ã™ã€‚ ãれãžã‚Œåˆ¥ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールã¨è¨å®šã‚’使ã„ã¾ã™ã€‚
ã‚‚ã—ワーカー㮠URL ã«é‡ãªã‚ŠãŒã‚れã°ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ã®å…±æœ‰ãŒèµ·ãã¾ã™ã€‚ é‡ãªã‚Šã¨ã¯ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ã® URL ãŒã€è¨å®šãƒ•ァイル内ã§å¾Œã‹ã‚‰å®šç¾©ã—㟠別ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã® URL ã®å…ˆé æ–‡å—列ã¨éƒ¨åˆ†ä¸€è‡´ã™ã‚‹ã“ã¨ã§ã™ã€‚ 次ã®ä¾‹ã§
ProxyPass /apps http://backend.example.com/ timeout=60
ProxyPass /examples http://backend.example.com/examples timeout=10
ãµãŸã¤ã‚ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã¯å®Ÿéš›ã«ã¯ç”Ÿæˆã•れã¾ã›ã‚“。
ãã®ä»£ã‚りã€ã²ã¨ã¤ã‚ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’使ã„ã¾ã™ã€‚ã“ã®åˆ©ç‚¹ã¯ã€ãŸã ã²ã¨ã¤ã®
コãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ãƒ¼ãƒ«ã§æ¸ˆã‚€ç‚¹ã§ã™ã€‚ã“ã®ãŸã‚ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ã‚ˆã‚Šé »ç¹ã«å†åˆ©ç”¨ã§ãã¾ã™ã€‚
後ã‚ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã«æ˜Žç¤ºçš„ã«æ›¸ã„ãŸè¨å®šã®ã™ã¹ã¦ã®ãƒ‘ラメータã¨ä¸€éƒ¨ã®è¨å®šã®ãƒ‡ãƒ•ォルト値ã¯ã€
最åˆã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã«æ›¸ã„ãŸè¨å®šã‚’上書ãã™ã‚‹ã®ã‚’注æ„ã—ã¦ãã ã•ã„。
ã“れã¯è¦å‘Šã¨ã—ã¦ãƒã‚°ã«æ®‹ã‚Šã¾ã™ã€‚上記ã®ä¾‹ã§è¨€ãˆã°ã€/apps
ã® URL ã«å¯¾ã™ã‚‹ã‚¿ã‚¤ãƒ アウト値ã¯ã€çµæžœã¨ã—㦠60
ã§ã¯ãªã
10
ã«ãªã‚‹ã®ã§ã™ã€‚
ã‚‚ã—ワーカーã®å…±æœ‰ã‚’é¿ã‘ãŸã‘れã°ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ã®å®šç¾©ã‚’ URL ã®é•·ã•ã§ã‚½ãƒ¼ãƒˆã—ã¦ãã ã•ã„。
ãã—ã¦ã€é•·ã„ URL ã‹ã‚‰ä¸¦ã¹ã¦ãã ã•ã„。もã—ワーカーã®å…±æœ‰ã‚’最大é™ã«ã—ãŸã„ãªã‚‰ã€
é€†é †ã«ä¸¦ã¹ã¾ã™ã€‚ProxyPass
ディレクティブã®ä¸¦ã³ã«ã¤ã„ã¦ã€é–¢é€£ã™ã‚‹è¦å‘Šã‚‚見ã¦ãã ã•ã„。
明示的ã«è¨å®šã™ã‚‹ãƒ¯ãƒ¼ã‚«ãƒ¼ã«ã¯ãµãŸã¤ã®ç¨®é¡žãŒã‚りã¾ã™:
直接ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ 㨠ãƒãƒ©ãƒ³ã‚µãƒ¼ (è² è·åˆ†æ•£) ワーカー ã§ã™ã€‚
ã“れらã¯å¾Œã»ã© ProxyPass
ディレクティブã®ä¸ã§èª¬æ˜Žã™ã‚‹é‡è¦ãªè¨å®šãƒ‘ラメータを数多ãサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚
åŒã˜ãƒ‘ラメータ㯠ProxySet
を使ã£ã¦ã‚‚è¨å®šå¯èƒ½ã§ã™ã€‚
直接ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã§åˆ©ç”¨ã§ãるパラメータã¯ãƒ—ãƒãƒˆã‚³ãƒ«ã«ä¾å˜ã—ã¾ã™ã€‚
プãƒãƒˆã‚³ãƒ«ã¯ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã® URL ã§æŒ‡å®šã•れã¾ã™ã€‚
利用å¯èƒ½ãªãƒ—ãƒãƒˆã‚³ãƒ«ã¯ ajp
,
ftp
, http
, scgi
ã§ã™ã€‚
ãƒãƒ©ãƒ³ã‚µãƒ¼ãƒ¯ãƒ¼ã‚«ãƒ¼ã¯ä»®æƒ³ãƒ¯ãƒ¼ã‚«ãƒ¼ã§ã™ã€‚直接ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’ リクエストを実際ã«å‡¦ç†ã™ã‚‹ãƒ¡ãƒ³ãƒãƒ¼ã¨ã—ã¦ä½¿ã„ã¾ã™ã€‚ ãれãžã‚Œã®ãƒãƒ©ãƒ³ã‚µãƒ¼ã¯è¤‡æ•°ã®ãƒ¡ãƒ³ãƒãƒ¼ã‚’æŒã¡ãˆã¾ã™ã€‚ リクエストを処ç†ã™ã‚‹æ™‚ã€è¨å®šã—ãŸè² è·åˆ†æ•£ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã«ã‚‚ã¨ã¥ã メンãƒãƒ¼ã®ã²ã¨ã¤ã‚’é¸æŠžã—ã¾ã™ã€‚
ワーカー㮠URL ã®ãƒ—ãƒãƒˆã‚³ãƒ«ã‚¹ã‚ーム㫠balancer
を使ã†ã¨ã€ãƒãƒ©ãƒ³ã‚µãƒ¯ãƒ¼ã‚«ãƒ¼ãŒç”Ÿæˆã•れã¾ã™ã€‚
ãƒãƒ©ãƒ³ã‚µãƒ¼ã® URL ãŒã€ãƒãƒ©ãƒ³ã‚µãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’一æ„ã«è˜åˆ¥ã—ã¾ã™ã€‚
BalancerMember
を使ã£ã¦ã€ãƒãƒ©ãƒ³ã‚µãƒ¼ã«ãƒ¡ãƒ³ãƒãƒ¼ã‚’è¿½åŠ ã—ã¾ã™ã€‚
プãƒã‚ã‚·ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯ä»¥ä¸‹ã®ã‚ˆã†ã« <Proxy>
コンテナã®ä¸ã«
ディレクティブを書ãã“ã¨ã§åˆ¶å¾¡ã§ãã¾ã™:
<Proxy *>
Order Deny,Allow
Deny from all
Allow from 192.168.0
</Proxy>
アクセス制御ã®ãŸã‚ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã®ã‚ˆã‚Šè©³ã—ã„æƒ…å ±ã¯
mod_authz_host
ã‚’ãŠèªã¿ãã ã•ã„。
(ProxyRequests
ディレクティブを
使ã£ã¦) フォワードプãƒã‚ã‚·ã‚’è¨å®šã—ã¦ã„ã‚‹å ´åˆã¯ã€å޳ã—ãアクセス
制é™ã‚’行ãªã†ã“ã¨ãŒéžå¸¸ã«å¤§åˆ‡ã§ã™ã€‚ãã†ã—ãªã„ã¨ã€ä»»æ„ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ
身元を明ã‹ã™ã“ã¨ãªãä»»æ„ã®ãƒ›ã‚¹ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«ãƒ—ãƒã‚シサーãƒã‚’使ã†ã“ã¨ãŒ
ã§ãã¦ã—ã¾ã„ã¾ã™ã€‚ã“れã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆ
全体ã«ã¨ã£ã¦ã‚‚å±é™ºãªã“ã¨ã§ã™ã€‚(ProxyRequests Off
ã«ã—ã¦
ProxyPass
ディレクティブを使ã£ã¦)
リãƒãƒ¼ã‚¹ãƒ—ãƒã‚シを使ã£ã¦ã„ã‚‹å ´åˆã«ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ã‚ãªãŸãŒæ˜Žç¤ºçš„ã«
è¨å®šã—ãŸãƒ›ã‚¹ãƒˆã«ã—ã‹ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„ãŸã‚ã€ãƒ•ォワードプãƒã‚ã‚·ã®ã¨ã
ã»ã©ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã«åŠ›ã‚’æ³¨ãŒãªãã¦ã‚‚大丈夫ã§ã™ã€‚
ProxyBlock
ディレクティブを使ã£ã¦ã„ã‚‹å ´åˆã€
後ã«è¡Œã†ãƒžãƒƒãƒåˆ¤å®šã®ãŸã‚ã€èµ·å‹•時ã«ãƒ›ã‚¹ãƒˆã®åå‰è§£æ±ºã‚’ã—ã¦
IP アドレスをã‚ャッシュã—ã¾ã™ã€‚ホストåã®åå‰è§£æ±ºã®
速ã•ã«ã‚ˆã£ã¦ã¯ã€æ•°ç§’ (ã‹ãれ以上) ã‹ã‹ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。
イントラãƒãƒƒãƒˆã«ã‚ã‚‹ Apache プãƒã‚シサーãƒã¯å¤–部ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’
会社ã®ãƒ•ァイアウォールを通ã—ã¦é€ã‚‰ãªã‘れã°ãªã‚Šã¾ã›ã‚“。(ã“ã®ãŸã‚ã«ã¯
個々㮠scheme ã«ã¤ã„ã¦ãれãžã‚Œã€ãƒ•ァイアウォールã®
プãƒã‚ã‚·ã«ãƒ•ォワードã•れるよã†ã«
ProxyRemote
ディレクティブを
è¨å®šã—ã¦ãã ã•ã„)。ã—ã‹ã—イントラãƒãƒƒãƒˆå†…ã®ãƒªã‚½ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã¨ãã¯ã€
ファイアウォールを通ã•ãªã„ã§ã‚‚アクセスã§ãã¾ã™ã€‚
ã©ã®ãƒ›ã‚¹ãƒˆãŒã‚¤ãƒ³ãƒˆãƒ©ãƒãƒƒãƒˆã«å±žã—ã€ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã™ã¹ãã‹ã‚’指定ã™ã‚‹ã«ã¯ã€
NoProxy
ディレクティブãŒ
å½¹ã«ç«‹ã¡ã¾ã™ã€‚
イントラãƒãƒƒãƒˆå†…ã®ãƒ¦ãƒ¼ã‚¶ã¯ WWW ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ãƒãƒ¼ã‚«ãƒ«ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’
çœç•¥ã™ã‚‹ã“ã¨ãŒã‚ˆãã‚りã¾ã™ã€‚http://somehost.example.com/
ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ä»£ã‚り㫠"http://somehost/" をリクエストã—ãŸã‚Šã—ã¾ã™ã€‚
ã“ã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘付ã‘ã€ã‚µãƒ¼ãƒã«è¨å®šã•れã¦ã„ã‚‹ãƒãƒ¼ã‚«ãƒ«ãƒ‰ãƒ¡ã‚¤ãƒ³ãŒ
æš—é»™ã®ã†ã¡ã«ä½¿ã‚れã¦ã„ã‚‹ã¨è§£é‡ˆã—ã¦ã€å˜ç´”ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã™ã‚‹ã‚‚ã®ã‚‚
商用プãƒã‚シサーãƒã®ä¸ã«ã¯ã‚りã¾ã™ã€‚
サーãƒãŒ プãƒã‚ã‚·ã®ã‚µãƒ¼ãƒ“ス用ã«è¨å®šã•れã¦ã„ã¦
ProxyDomain
ディレクティブãŒ
使用ã•れãŸå ´åˆã«ã¯ã€Apache ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå¿œç”ã‚’é€ã£ã¦ã€
æ£ã—ã„ã€å®Œå…¨ãª (訳注: fully qualified)
サーãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã«é€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®ã‚ˆã†ã«
リダイレクトã™ã‚‹ã¨ã€ãƒ¦ãƒ¼ã‚¶ã®ãƒ–ãƒƒã‚¯ãƒžãƒ¼ã‚¯ãŒæ£ã—ã„完全ãªãƒ›ã‚¹ãƒˆåã‚’å«ã‚€
ã“ã¨ã«ã‚‚ãªã‚‹ãŸã‚ã€ã‚ˆã‚Šå¥½ã¾ã—ã„æ–¹æ³•ã¨è¨€ãˆã‚‹ã§ã—ょã†ã€‚
Keepalive ã‚„ HTTP/1.1 ã‚’é©åˆ‡ã«å®Ÿè£…ã—ã¦ã„ãªã„オリジンサーãƒã«å¯¾ã—ã¦
mod_proxy
ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ä¿¡ã™ã‚‹å ´åˆã€
HTTP/1.0 を使ã£ã¦ keepalive ã‚’ç„¡ã—ã«ã—ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚‹ã‚ˆã†ã«ã™ã‚‹ 環境変数ãŒäºŒã¤ã‚りã¾ã™ã€‚ã“れら㯠SetEnv
ディレクティブã§è¨å®šã—ã¾ã™ã€‚
force-proxy-request-1.0
㨠proxy-nokeepalive
ãŒãã®ç’°å¢ƒå¤‰æ•°ã§ã™ã€‚
<Location /buggyappserver/>
ProxyPass http://buggyappserver:7001/foo/
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</Location>
POST メソッドãªã©ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒœãƒ‡ã‚£ãŒã‚りã¾ã™ã€‚
HTTP プãƒãƒˆã‚³ãƒ«ä»•様ã«ã‚ˆã‚‹ã¨ã€ãƒœãƒ‡ã‚£ã®ã‚るリクエスト㯠chunked
転é€ã‚’使ã†ã‹ã€Content-Length
ヘッダをé€ä¿¡ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。
ã“ã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’オリジンサーãƒã«é€ä¿¡ã™ã‚‹å ´åˆã€
mod_proxy_http
ã¯å¸¸ã« Content-Length
ã‚’é€ã‚ã†ã¨è©¦ã¿ã¾ã™ã€‚ã—ã‹ã—ã€ãƒœãƒ‡ã‚£ãŒå¤§ããã€ã‚ªãƒªã‚¸ãƒŠãƒ«ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§
chunked 転é€ãŒä½¿ã‚れã¦ã„ã‚‹å ´åˆã€ä¸Šæµã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«
chunked 転é€ã‚‚使ã‚れã¾ã™ã€‚
ã“ã®æŒ™å‹•㯠環境変数ã§åˆ¶å¾¡ã§ãã¾ã™ã€‚
proxy-sendcl
ã‚’è¨å®šã™ã‚‹ã¨ã€
常㫠Content-Length
ã‚’é€ã‚Šã€æœ€å¤§é™ã®äº’æ›æ€§ã‚’確ä¿ã—ã¾ã™ã€‚
逆㫠proxy-sendchunked
ã‚’è¨å®šã™ã‚‹ã¨ã€
chunked エンコードを使ã£ã¦ãƒªã‚½ãƒ¼ã‚¹æ¶ˆè²»ã‚’抑ãˆã¾ã™ã€‚
リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã¨ã—ã¦æŒ¯ã‚‹èˆžã†æ™‚ (例ãˆã°ã€ProxyPass
ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’ä½¿ã†æ™‚) ã€
mod_proxy_http
ã¯ã€ã‚ªãƒªã‚¸ãƒ³ã‚µãƒ¼ãƒã«æƒ…å ±ã‚’æ¸¡ã™ãŸã‚ã«
ã„ãã¤ã‹ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ã‚’è¿½åŠ ã—ã¾ã™ã€‚ã“れらã®ãƒ˜ãƒƒãƒ€ã¯ä»¥ä¸‹ã«ãªã‚Šã¾ã™ã€‚
X-Forwarded-For
X-Forwarded-Host
Host
ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ã§æ¸¡ã™ã€‚X-Forwarded-Server
オリジンサーãƒä¸Šã§ã“れらã®ãƒ˜ãƒƒãƒ€ã‚’æ‰±ã†æ™‚ã¯æ³¨æ„ã—ã¦ãã ã•ã„。
ã¨è¨€ã†ã®ã‚‚ã€ã‚ªãƒªã‚¸ãƒŠãƒ«ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæ—¢ã«åŒã˜ãƒ˜ãƒƒãƒ€ã‚’æŒã£ã¦ã„ã‚‹ã¨ã€
ヘッダãŒä¸€ã¤ä»¥ä¸Šã®å€¤ (コンマã§åŒºåˆ‡ã‚‰ã‚Œã¾ã™) ã‚’æŒã¤å¯èƒ½æ€§ãŒã‚ã‚‹ã‹ã‚‰ã§ã™ã€‚
例ãˆã°ã€ オリジンサーãƒä¸Šã§ã‚ªãƒªã‚¸ãƒŠãƒ«ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®IPアドレスをãƒã‚°ã«
記録ã™ã‚‹ãŸã‚ã€ãƒã‚°ãƒ•ォーマット㫠%{X-Forwarded-For}i
ã‚’
指定ã—ãŸã¨ã—ã¾ã™ã€‚ã“ã®æ™‚ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒè¤‡æ•°ã®ãƒ—ãƒã‚シを経由ã—ã¦ã„ã‚‹ã¨ã€
複数ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒã‚°ã«è¼‰ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
ProxyPreserveHost
ã¨
ProxyVia
ディレクティブ
ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。ã“れらã¯ä»–ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ˜ãƒƒãƒ€ã«å½±éŸ¿ã‚’与ãˆã¾ã™ã€‚
説明: | プãƒã‚シを経由ã—ã¦ã€ã©ã®ãƒãƒ¼ãƒˆã« CONNECT
ã§ãã‚‹ã‹ã‚’指定ã™ã‚‹ |
---|---|
æ§‹æ–‡: | AllowCONNECT port [port] ... |
デフォルト: | AllowCONNECT 443 563 |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
AllowCONNECT
ã¯ãƒ—ãƒã‚ã‚·ã® CONNECT
ãƒ¡ã‚½ãƒƒãƒ‰ãŒæŽ¥ç¶šã‚’è¨±å¯ã™ã‚‹ãƒãƒ¼ãƒˆç•ªå·ã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¾ã™ã€‚
今日ã®ãƒ–ラウザã¯ã€https
コãƒã‚¯ã‚·ãƒ§ãƒ³ãŒè¦æ±‚ã•れã¦ã„ã¦ã€
HTTP 上ã§ã®ãƒ—ãƒã‚ã‚·ã«ã‚ˆã‚‹ãƒˆãƒ³ãƒãƒªãƒ³ã‚°ãŒã§ãã‚‹ã¨ãã«ã€
ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã„ã¾ã™ã€‚
デフォルトã®è¨å®šã§ã¯ã€https ã®ãƒ‡ãƒ•ォルトãƒãƒ¼ãƒˆ (443
) ã¨
デフォルト㮠snews ãƒãƒ¼ãƒˆ (563
) ãŒæœ‰åйã«ãªã£ã¦ã„ã¾ã™ã€‚
ã“ã®ãƒ‡ãƒ•ォルトを上書ãã—ã¦ã€ãƒªã‚¹ãƒˆã«è¨˜è¼‰ã—ãŸãƒãƒ¼ãƒˆã«ã®ã¿æŽ¥ç¶šã‚’許å¯ã—ãŸã„å ´åˆã€
AllowCONNECT
ディレクティブを使用ã—ã¾ã™ã€‚
CONNECT
を使用ã™ã‚‹ã«ã¯ã€mod_proxy_connect
ãŒã‚µãƒ¼ãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ãªã‘れã°ãªã‚‰ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
説明: | ãƒãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ãƒ¡ãƒ³ãƒãƒ¼ã‚’è¿½åŠ |
---|---|
æ§‹æ–‡: | BalancerMember [balancerurl] url [key=value [key=value ...]] |
コンテã‚スト: | ディレクトリ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | BalancerMember 㯠Apache 2.2 以é™ã§ã®ã¿ä½¿ç”¨å¯èƒ½ |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§ãƒãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ãƒ¡ãƒ³ãƒã‚’è¿½åŠ ã—ã¾ã™ã€‚
<Proxy balancer://...>
ディレクティブã®ã‚³ãƒ³ãƒ†ãƒŠ
内ã§ä½¿ã‚れるã“ã¨ãŒå¤šãã€ProxyPass
ディレクティブã¨å…±é€šã®ã‚ーãƒãƒªãƒ¥ãƒ¼ãƒšã‚¢ã®ãƒ‘ラメータをå–りã¾ã™ã€‚
<Proxy balancer://...>
ディレクティブã®
ã‚³ãƒ³ãƒ†ãƒŠå†…ã«æ›¸ã‹ãªã„å ´åˆã®ã¿ã€ balancerurl 引数ãŒå¿…è¦ã§ã™ã€‚ ã“れã¯
ProxyPass
ディレクティブã§
ãƒãƒ©ãƒ³ã‚µã‚’定義ã—ãŸæ™‚ã® URL ã¨åŒã˜åƒãã‚’ã—ã¾ã™ã€‚
説明: | 直接接続ã™ã‚‹ ホストã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ |
---|---|
æ§‹æ–‡: | NoProxy host [host] ... |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¤ãƒ³ãƒˆãƒ©ãƒãƒƒãƒˆä¸ã® Apache プãƒã‚シサーãƒã«ã®ã¿
有用ã§ã™ã€‚NoProxy
ディレクティブã¯ç©ºç™½åŒºåˆ‡ã‚Šã§ã€
サブãƒãƒƒãƒˆã€IP アドレスã€ãƒ›ã‚¹ãƒˆã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¾ã™ã€‚
ã“れらã®ã©ã‚Œã‹ã«ãƒžãƒƒãƒã™ã‚‹ãƒ›ã‚¹ãƒˆã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ ProxyRemote
ã§è¨å®šã•れãŸãƒ—ãƒã‚シサーãƒã«
フォワードã•れãšã€ç›´æŽ¥å‡¦ç†ã•れã¾ã™ã€‚
ProxyRemote * http://firewall.example.com:81
NoProxy .example.com 192.168.112.0/21
NoProxy
ディレクティブ㮠host 引数ã¯
以下ã®ç¨®é¡žã®ã©ã‚Œã‹ã§ã™:
Domain ã¯å…ˆé ã«ãƒ”リオドを書ã„ãŸéƒ¨åˆ† DNS ドメインåã§ã™ã€‚ åŒä¸€ DNS ドメインåŠã³ã‚¾ãƒ¼ãƒ³ (ã™ãªã‚ã¡ã€ãƒ›ã‚¹ãƒˆåã®æœ«å°¾ãŒã™ã¹ã¦ Domain ã§çµ‚ã‚ã£ã¦ã„ã‚‹ã¨ã„ã†ã“ã¨) ã«å±žã™ã‚‹ãƒ›ã‚¹ãƒˆã®ãƒªã‚¹ãƒˆã‚’ 表ã—ã¾ã™)。
.com .apache.org.
Domain ã‚’ Hostname ã¨åŒºåˆ¥ã™ã‚‹ãŸã‚ã« (æ„味的ã«ã‚‚構文的ã«ã‚‚。DNS ドメインも DNS ã® A レコードをæŒã¤ã“ã¨ãŒã§ãã‚‹ã®ã§ã™!)ã€Domain 㯠常ã«ãƒ”リオドã§å§‹ã¾ã‚Šã¾ã™ã€‚
ドメインåã®æ¯”較ã¯å¤§æ–‡å—å°æ–‡å—を区別ã›ãšã«è¡Œãªã‚れã€Domain
ã¯å¸¸ã« DNS ツリーã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰å§‹ã¾ã‚‹ã‚‚ã®ã¨ã¿ãªã•れã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€
次ã®äºŒã¤ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ .ExAmple.com
ã¨
.example.com.
(最後ã®ãƒ”ãƒªã‚ªãƒ‰ã«æ³¨ç›®) ã¯åŒä¸€ã§ã‚ã‚‹ã¨
ã¿ãªã•れã¾ã™ã€‚ãƒ‰ãƒ¡ã‚¤ãƒ³ã®æ¯”較㯠DNS ルックアップãªã—ã§è¡Œãªã‚れるãŸã‚ã€
サブãƒãƒƒãƒˆã®æ¯”較よりもãšã£ã¨åŠ¹çŽ‡çš„ã§ã™ã€‚
SubNet ã¯æ•°å€¤å½¢å¼ (ドットã§åŒºåˆ‡ã‚‰ã‚ŒãŸå››ã¤ã®æ•°å—) 㮠部分インターãƒãƒƒãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™ã€‚後ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¨ Subnet ã®æ„味ã®ã‚るビット数を指定ã™ã‚‹ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã¨ã‚’ç¶šã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ 共通ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ェースを使ã£ã¦åˆ°é”ã™ã‚‹ã“ã¨ã®ã§ãるサブãƒãƒƒãƒˆã‚’ 表ã™ãŸã‚ã«ä½¿ã‚れã¾ã™ã€‚明示的ã«ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã‚’指定ã—ãªã„å ´åˆã¯ 最後ã®çœç•¥ã•れ㟠(ã‚‚ã—ãã¯å€¤ãŒ 0 ã®) æ•°å—ãŒãƒžã‚¹ã‚¯ã‚’指定ã—ã¾ã™ã€‚ (ã“ã®å ´åˆã¯ã€ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã¯ 8 ビットå˜ä½ã§ã—ã‹æŒ‡å®šã§ãã¾ã›ã‚“。) 例:
192.168
ã‚‚ã—ã㯠192.168.0.0
255.255.0.0
ã¨ã„ã†ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã®å½¢å¼ã§ä½¿ã‚れるã“ã¨ã‚‚
ã‚りã¾ã™)192.168.112.0/21
192.168.112.0/21
㨠21 ビット有効ãª
ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ (255.255.248.0
ã¨ã„ã†å½¢å¼ã§ä½¿ã‚れるã“ã¨ã‚‚
ã‚りã¾ã™)特別ãªå ´åˆã«ã€32 ビット有効㪠SubNet 㯠IPAddr ã¨åŒç‰ã§ã€ 0 ビット有効㪠SubNet (例ãˆã°ã€0.0.0.0/0) 㯠ã™ã¹ã¦ã® IP アドレスã«ãƒžãƒƒãƒã™ã‚‹å®šæ•° _Default_ ã¨åŒã˜ã§ã™ã€‚
IPAddr ã¯æ•°å€¤å½¢å¼ (ドットã§åŒºåˆ‡ã‚‰ã‚ŒãŸå››ã¤ã®æ•°å—) 㮠完全インターãƒãƒƒãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™ã€‚通常ã¯ã“ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ãƒ›ã‚¹ãƒˆã‚’ 表ã—ã¾ã™ãŒã€å¿…ãšã—もアドレスã«å¯¾å¿œã™ã‚‹ DNS ドメインåãŒã‚ã‚‹ã‚ã‘ã§ã¯ ã‚りã¾ã›ã‚“。
192.168.123.7
IPAddr 㯠DNS システムã«ã‚ˆã‚Šè§£æ±ºã•れる必è¦ãŒãªã„ã®ã§ã€ apache ã®æ€§èƒ½ãŒå‘上ã™ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。
Hostname 㯠DNS ドメインサービスã«ã‚ˆã‚Šä¸€ã¤ã‚‚ã—ã㯠複数㮠IPAddr ã«è§£æ±ºå¯èƒ½ãª 完全㪠DNS ドメインåã§ã™ã€‚ã“れ㯠(Domain ã¨é•ã£ã¦ã€èª¬æ˜Žã¯ä¸Šè¨˜ã‚’å‚ç…§) è«–ç†çš„ãªãƒ›ã‚¹ãƒˆã‚’表ã—ã€å°‘ãã¨ã‚‚一ã¤ã® IPAddr (ã‚‚ã—ãã¯é•ㆠIPAddr ã®ãƒ›ã‚¹ãƒˆã®ãƒªã‚¹ãƒˆ) ã«è§£æ±º ã•れãªã‘れã°ãªã‚Šã¾ã›ã‚“)。
prep.ai.example.com
www.apache.org
多ãã®å ´åˆã€Hostname ã®ä»£ã‚り㫠IPAddr を指定ã—ãŸæ–¹ãŒã€DNS ルックアップを é¿ã‘ã‚‹ã“ã¨ãŒã§ãã‚‹ãŸã‚ã€åŠ¹çŽ‡ãŒè‰¯ããªã‚Šã¾ã™ã€‚Apache ã®åå‰è§£æ±ºã¯ ãƒãƒ¼ãƒ サーãƒã¸ã®æŽ¥ç¶šãŒé…ã„ PPP 上ã®å ´åˆãªã©ã«ã‹ãªã‚Šæ™‚é–“ã‚’å–られる ã“ã¨ãŒã‚りã¾ã™ã€‚
Hostname ã®æ¯”較ã¯å¤§æ–‡å—å°æ–‡å—を区別ã›ãšã«è¡Œãªã‚れã€
Hostname ã¯å¸¸ã« DNS ツリーã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰å§‹ã¾ã‚‹ã‚‚ã®ã¨ã¿ãªã•れã¾ã™ã€‚
ã§ã™ã‹ã‚‰ã€äºŒã¤ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ WWW.ExAmple.com
ã¨
www.example.com.
(最後ã®ãƒ”ãƒªã‚ªãƒ‰ã«æ³¨ç›®) ã¯åŒä¸€ã§ã‚ã‚‹ã¨
ã¿ãªã•れã¾ã™ã€‚
説明: | プãƒã‚ã‚·ã•れるリソースã«é©ç”¨ã•れるコンテナ |
---|---|
æ§‹æ–‡: | <Proxy wildcard-url> ...</Proxy> |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
<Proxy>
セクションä¸ã®
ディレクティブã¯ãƒžãƒƒãƒã™ã‚‹ãƒ—ãƒã‚ã‚·ã•れるコンテンツã«ã®ã¿é©ç”¨ã•れã¾ã™ã€‚
シェル形å¼ã®ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ãŒä½¿ãˆã¾ã™ã€‚
例ãˆã°ã€æ¬¡ã®è¨å®šã¯ yournetwork.example.com
ã®
ホストã«ã®ã¿ãƒ—ãƒã‚シサーãƒã‚’経由ã—ãŸã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã—ã¾ã™:
<Proxy *>
Order Deny,Allow
Deny from all
Allow from yournetwork.example.com
</Proxy>
次ã®ä¾‹ã¯ example.com
ã® foo
ディレクトリã®
ã™ã¹ã¦ã®ãƒ•ァイルã«å¯¾ã—ã¦ã€ãƒ—ãƒã‚シサーãƒã‚’通ã—ã¦é€ã‚‰ã‚ŒãŸã¨ãã«ã¯
INCLUDES
フィルタを通ã—ã¦é€ã‚‹ã‚ˆã†ã«è¨å®šã—ã¾ã™:
<Proxy http://example.com/foo/*>
SetOutputFilter INCLUDES
</Proxy>
説明: | 応ç”ã«ãŠã‹ã—ãªãƒ˜ãƒƒãƒ€ãŒã‚ã‚‹å ´åˆã®æ‰±ã„方を決ã‚ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyBadHeader IsError|Ignore|StartBody |
デフォルト: | ProxyBadHeader IsError |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | Apache 2.0.44 以é™ã§ä½¿ç”¨å¯èƒ½ |
ProxyBadHeader
ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯æ§‹æ–‡çš„ã«
é–“é•ã£ãŸãƒ¬ã‚¹ãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€ (ã¤ã¾ã‚Š ã‚³ãƒãƒ³ã‚’å«ã¾ãªã„ã‚‚ã®) ã‚’å—ã‘å–ã£ãŸã¨ãã«
mod_proxy
ãŒã©ã†æŒ¯ã‚‹èˆžã†ã‹ã‚’決ã‚ã¾ã™ã€‚以下ã®å¼•æ•°ã‚’
å–ã‚‹ã“ã¨ãŒã§ãã¾ã™:
IsError
Ignore
StartBody
説明: | プãƒã‚ã‚·æŽ¥ç¶šã‚’ç¦æ¢ã™ã‚‹èªžå¥ã€ãƒ›ã‚¹ãƒˆåã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’指定ã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyBlock *|word|host|domain
[word|host|domain] ... |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
ProxyBlock
ディレクティブã¯ç©ºç™½ã§åŒºåˆ‡ã‚‰ã‚ŒãŸ
語å¥ã€ãƒ›ã‚¹ãƒˆåã€ãƒ‰ãƒ¡ã‚¤ãƒ³ã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¾ã™ã€‚サイトåã«ãã®èªžå¥ã€ãƒ›ã‚¹ãƒˆåã€
ドメインをå«ã‚€ã‚µã‚¤ãƒˆã¸ã® HTTPã€HTTPSã€FTP ã«ã‚ˆã‚‹ãƒ‰ã‚ュメントã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯
プãƒã‚シサーãƒã«ã‚ˆã‚Š ãƒ–ãƒãƒƒã‚¯ã•れã¾ã™ã€‚プãƒã‚シモジュールã¯
起動時ã«ãƒ›ã‚¹ãƒˆåã¨æ€ã—ãé …ç›®ã® IP アドレスを調ã¹ã€å¾Œã®ãƒ†ã‚¹ãƒˆã®ãŸã‚ã«
ã‚ャッシュã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ã‚µãƒ¼ãƒã®èµ·å‹•ãŒå°‘ã—é…ããªã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。
ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
rocky.wotsamattau.edu
㌠IP アドレスã§å‚ç…§ã•れãŸã¨ãã§ã‚‚
マッãƒã—ã¾ã™ã€‚
wotsamattau.edu
ã®ãƒžãƒƒãƒã«ã¯ wotsamattau
ã ã‘ã§ã‚‚å分ã§ã™ã€‚
ProxyBlock *
ã¯ã™ã¹ã¦ã®ã‚µã‚¤ãƒˆã¸ã®æŽ¥ç¶šã‚’ブãƒãƒƒã‚¯ã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
説明: | プãƒã‚ã‚·ã•れãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒ‡ãƒ•ォルトã®ãƒ‰ãƒ¡ã‚¤ãƒ³å |
---|---|
æ§‹æ–‡: | ProxyDomain Domain |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚¤ãƒ³ãƒˆãƒ©ãƒãƒƒãƒˆå†…ã® Apache プãƒã‚シサーãƒã«ã®ã¿
有用ã§ã™ã€‚ProxyDomain
ディレクティブã¯
apache プãƒã‚シサーãƒãŒå±žã™ã‚‹ãƒ‡ãƒ•ォルトã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’指定ã—ã¾ã™ã€‚
ドメインåã®ç„¡ã„リクエストをå—ã‘ãŸå ´åˆã€è¨å®šã•れ㟠Domain
ãŒè¿½åŠ ã•れãŸåŒã˜ãƒ›ã‚¹ãƒˆã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå¿œç”ãŒè¿”ã•れã¾ã™ã€‚
ProxyRemote * http://firewall.example.com:81
NoProxy .example.com 192.168.112.0/21
ProxyDomain .example.com
説明: | プãƒã‚ã‚·ã•れãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã‚’上書ãã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyErrorOverride On|Off |
デフォルト: | ProxyErrorOverride Off |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | Apache 2.0 以é™ã§ä½¿ç”¨å¯èƒ½ |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚シを使用ã—ã¦ã„ã¦ã€
エンドユーザã«é€ã‚‰ã‚Œã‚‹ã‚¨ãƒ©ãƒ¼ãƒšãƒ¼ã‚¸ã®å¤–見を共通ã®ã‚‚ã®ã«ã—ãŸã„ã¨ãã«
有用ã§ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠(mod_include
ã® SSI ã«ã‚ˆã£ã¦)
インクルードã•れãŸãƒ•ァイルãŒã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ã‚’å–å¾—ã—ã¦ã€æ£ã—ã動作を
ã™ã‚‹ã‚ˆã†ã«ã‚‚ã—ã¾ã™ (デフォルトã®å‹•作ã¯ã€ãƒ—ãƒã‚ã‚·ã•れãŸã‚µãƒ¼ãƒã®
エラーページã®è¡¨ç¤ºã§ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を有効ã«ã™ã‚‹ã¨ SSI ã®ã‚¨ãƒ©ãƒ¼
メッセージを表示ã—ã¾ã™)。
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠informational (1xx), æˆåŠŸ (2xx), リダイレクト (3xx) ステータスã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹å‡¦ç†ã«ã¯å½±éŸ¿ã—ã¾ã›ã‚“。
説明: | プãƒã‚ã‚·ã•れ㟠FTP (ã®ä¸€è¦§è¡¨ç¤º) ã®ã‚ャラクタセットを定義 |
---|---|
æ§‹æ–‡: | ProxyFtpDirCharset character set |
デフォルト: | ProxyFtpDirCharset ISO-8859-1 |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | Apache 2.2.7 以é™ã§ä½¿ç”¨å¯èƒ½ |
ProxyFtpDirCharset
ディレクティブã¯ã€
mod_proxy_ftp
㌠HTML å½¢å¼ã§ç”Ÿæˆã™ã‚‹ FTP ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸€è¦§
ç”»é¢ã®ã‚ャラクタセットを定義ã—ã¾ã™ã€‚
説明: | 内部データスループットãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’決定ã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyIOBufferSize bytes |
デフォルト: | ProxyIOBufferSize 8192 |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
ProxyIOBufferSize
ディレクティブã¯å…¥åŠ›ã¨
出力用ã®ä¸€æ™‚メモリã¨ã—ã¦ä½¿ã‚れる内部ãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’調整ã—ã¾ã™ã€‚
サイズ㯠8192
以下ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“。
ã»ã¨ã‚“ã©ã™ã¹ã¦ã®å ´åˆã€ã“ã®å€¤ã‚’変更ã™ã‚‹ç†ç”±ã¯ã‚りã¾ã›ã‚“。
説明: | æ£è¦è¡¨ç¾ã§ã®ãƒžãƒƒãƒã«ã‚ˆã‚‹ãƒ—ãƒã‚シリソース用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–コンテナ |
---|---|
æ§‹æ–‡: | <ProxyMatch regex> ...</ProxyMatch> |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
<ProxyMatch>
㯠URL ã®ãƒžãƒƒãƒã«
æ£è¦è¡¨ç¾ を用ã„ã‚‹ã“ã¨ã‚’除ã‘ã°
<Proxy>
ディレクティブã¨åŒã˜ã§ã™ã€‚
説明: | リクエストãŒãƒ•ォワードã•れるプãƒã‚ã‚·ã®æœ€å¤§æ•° |
---|---|
æ§‹æ–‡: | ProxyMaxForwards number |
デフォルト: | ProxyMaxForwards -1 |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | Apache 2.0 以é™ã§ä½¿ç”¨å¯èƒ½; Apache 2.2.7ã§ãƒ‡ãƒ•ォルト動作ãŒå¤‰ã‚りã¾ã—㟠|
ProxyMaxForwards
ディレクティブã¯
リクエスト㫠Max-Forwards
ãƒ˜ãƒƒãƒ€ãŒæŒ‡å®šã•れã¦ã„ãªã„å ´åˆã«
リクエストãŒé€šéŽå¯èƒ½ãªãƒ—ãƒã‚ã‚·ã®æœ€å¤§æ•°ã‚’è¨å®šã—ã¾ã™ã€‚ã“れã¯
プãƒã‚ã‚·ã®ç„¡é™ãƒ«ãƒ¼ãƒ—ã‚„ DoS 攻撃を防ããŸã‚ã«è¨å®šã•れるã‹ã‚‚ã—れã¾ã›ã‚“。
ProxyMaxForwards 15
ProxyMaxForwards
ã®è¨å®šã¯ã€HTTP/1.1 (RFC2616)
ã«é•åã—ã¾ã™ã€‚ã¨è¨€ã†ã®ã‚‚ã€RFC2616 ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ Max-Forwards
ヘッダをセットã—ãªã„時ã€ãƒ—ãƒã‚シ㌠Max-Forwards
ヘッダを
セットã™ã‚‹ã“ã¨ã‚’ç¦ã˜ã¦ã„ã‚‹ã‹ã‚‰ã§ã™ã€‚
Apache ã®åˆæœŸãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯å¸¸ã«ã‚»ãƒƒãƒˆã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã—ãŸã€‚
ProxyMaxForwards
ã«è² æ•° (デフォルト値㮠-1 ã‚‚å«ã‚€)
を指定ã™ã‚‹ã¨ã€HTTP/1.1 æº–æ‹ ã®å‹•作ã«ãªã‚Šã¾ã™ã€‚ã—ã‹ã—ã€ã“れã¯ç„¡é™ãƒ«ãƒ¼ãƒ—ã®å±é™ºæ€§ã‚’残ã—ã¾ã™ã€‚
説明: | リモートサーãƒã‚’ãƒãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã® URL 空間ã«ãƒžãƒƒãƒ—ã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyPass [path] !|url [key=value
key=value ...]] [nocanon] [interpolate] |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_proxy |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã‚’ãƒãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã®åå‰ç©ºé–“㫠マップã§ãるよã†ã«ã—ã¾ã™ã€‚ãƒãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã¯é€šå¸¸ã®æ„味ã§ã®ãƒ—ãƒã‚シ㨠ã—ã¦ã¯å‹•作ã›ãšã€ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã®ãƒŸãƒ©ãƒ¼ã¨ã—ã¦æŒ¯ã‚‹èˆžã„ã¾ã™ã€‚ ãƒãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã¯ã—ã°ã—㰠リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚· ã‚„ ゲートウェイ ã¨å‘¼ã°ã‚Œã¾ã™ã€‚ path ã¯ãƒãƒ¼ã‚«ãƒ«ã®ä»®æƒ³ãƒ‘スã®åå‰ã§ã™ã€‚url 㯠リモートサーãƒã®éƒ¨åˆ† URL ã«ãªã‚Šã€ã‚¯ã‚¨ãƒªãƒ¼æ–‡å—列をå«ã‚€ã“ã¨ã¯ã§ãã¾ã›ã‚“。
ProxyPass
ディレクティブを
使ã£ã¦ã„ã‚‹ã¨ã㯠ProxyRequests
ディレクティブã¯é€šå¸¸ã¯
off ã«è¨å®šã•れã¦ã„ã‚‹ã¹ãã§ã™ã€‚ãƒãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒ http://example.com/
ã§ã‚ã‚‹ã¨
ã—ã¾ã™ã€‚ã™ã‚‹ã¨ã€
ProxyPass /mirror/foo/ http://backend.example.com/
ã¨è¨å®šã™ã‚‹ã¨ http://example.com/mirror/foo/bar
ã¸ã®
リクエストãŒå†…部的㫠http://backend.example.com/bar
ã¸ã®
プãƒã‚シリクエストã«å¤‰æ›ã•れるã“ã¨ã«ãªã‚Šã¾ã™ã€‚
ã‚‚ã—第一引数㌠/ ã§çµ‚端ã™ã‚‹ãªã‚‰ã°ã€ç¬¬äºŒå¼•æ•°ã‚‚ / ã§çµ‚端ã™ã¹ãã§ã™ã€‚逆もã¾ãŸç„¶ã‚Šã§ã€ç¬¬ä¸€å¼•æ•°ãŒçµ‚端ã—ãªã„ãªã‚‰ã°ã€ 第二引数も終端ã™ã¹ãã§ã¯ã‚りã¾ã›ã‚“。 ã“れã«åã™ã‚‹ã¨ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒå‘ã‘ã«å¤‰æ›ã•れãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ å¿…è¦ãªã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’æ¬ ãå¯èƒ½æ€§ãŒã‚りã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¯æœŸå¾…ã™ã‚‹çµæžœã‚’è¿”ã—ã¾ã›ã‚“。
サブディレクトリをリãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã—ãŸããªã„ã¨ãã« !
ã¯
å½¹ã«ç«‹ã¡ã¾ã™ã€‚例ãˆã°ã€
ProxyPass /mirror/foo/i !
ProxyPass /mirror/foo http://backend.example.com
㯠/mirror/foo/i
ã‚’ 除ã
/mirror/foo
ã¸ã®ã™ã¹ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’
backend.example.com
ã«ãƒ—ãƒã‚ã‚·ã—ã¾ã™ã€‚
ProxyPass
ã¨
ProxyPassMatch
ã®ãƒ«ãƒ¼ãƒ«ã®
è¨å®šã¯è¨å®šãƒ•ァイルä¸ã®é †åºã©ãŠã‚Šã«ãƒã‚§ãƒƒã‚¯ã•れã¾ã™ã€‚
最åˆã«ãƒžãƒƒãƒã—ãŸãƒ«ãƒ¼ãƒ«ãŒå‹ã¡ã¾ã™ã€‚ã“ã®ãŸã‚通常ã¯ã€
マッãƒãŒé‡ãªã‚‹ ProxyPass
ルールã¯ã€é•·ã„ URL ãŒå…ˆã«ãªã‚‹ã‚ˆã†ã«ä¸¦ã¹ã‚‹ã¹ãã§ã™ã€‚
ãã†ã—ãªã„ã¨ã€å¾Œã«æ›¸ã‹ã‚ŒãŸé•·ã„ URL ã«ãƒžãƒƒãƒã™ã‚‹ãƒ«ãƒ¼ãƒ«ãŒã€
å…ˆã«æ›¸ã‹ã‚ŒãŸçŸã„ URL ã®å…ˆé ã®éƒ¨åˆ†ã«ãƒžãƒƒãƒã—ãŸãƒ«ãƒ¼ãƒ«ã§éš ã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
ワーカーã®å…±æœ‰ã¨ã‚‚多少ã®é–¢ä¿‚ãŒã‚ã‚‹ã“ã¨ã«ã‚‚注æ„ã—ã¦ãã ã•ã„。
åŒã˜ç†ç”±ã§ã€å¦å®šå‡¦ç†ã‚‚一般的㪠ProxyPass
ディレクティブ㮠å‰ã« 書ãã¹ãã§ã™ã€‚
Apache HTTP サーム2.1 以é™ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®æŽ¥ç¶šã«
プールã•れãŸã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’使ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚
è¦æ±‚ã«å¿œã˜ã¦ç”Ÿæˆã•れãŸã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯å°†æ¥ã®ä½¿ç”¨ã®ãŸã‚ã«ãƒ—ール内ã«ç¶æŒã•れã¾ã™ã€‚
プールサイズã¨ãã®ä»–ã®è¨å®šã®åˆ¶é™ã¯ ProxyPass
ディレクティブ㫠key=value
パラメータã§è¨å®šã—ã¾ã™ã€‚
パラメータã¯å¾Œè¿°ã™ã‚‹è¡¨ã«ç¤ºã—ã¾ã™ã€‚
デフォルトã§ã€mod_proxy 㯠Web サーãƒã®åプãƒã‚»ã‚¹ãŒåŒæ™‚ã«ä½¿ã„ã†ã‚‹
最大数ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’許ã—ç¶æŒã™ã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚
ã“ã®æ•°ã‚’デフォルトã‹ã‚‰æ¸›ã‚‰ã™ã«ã¯ max
パラメータを使ã£ã¦ãã ã•ã„。
ç”Ÿå˜æœŸé–“ã‚’è¨å®šã™ã‚‹ã«ã¯ ttl
パラメータを使ã£ã¦ãã ã•ã„。
ttl
ç§’ã‚’è¶Šãˆã¦ä½¿ã‚れã¦ã„ãªã„コãƒã‚¯ã‚·ãƒ§ãƒ³ã¯åˆ‡æ–ã•れã¾ã™ã€‚
ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã®ã‚ープアライブãŒã‚¿ã‚¤ãƒ アウトã—ã¦ã€åˆ‡æ–ã•れよã†ã¨ã—ã¦ã„ã‚‹
コãƒã‚¯ã‚·ãƒ§ãƒ³ãŒä½¿ã‚れるã“ã¨ã‚’防ããŸã‚ã« ttl
を使ãˆã¾ã™ã€‚
コãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ール㯠Web サーãƒã®åプãƒã‚»ã‚¹ã”ã¨ã«ç¶æŒã•れã¾ã™ã€‚
max
ã‚„ãã®ä»–ã®è¨å®šã¯ã€ã™ã¹ã¦ã®åプãƒã‚»ã‚¹ã®é–“ã§èª¿æ•´ã¯ã•れã¾ã›ã‚“。
ãŸã ã—ã€è¨å®šã«ã‚ˆã‚Šã€ãŸã ã²ã¨ã¤ã®åプãƒã‚»ã‚¹ã«è¨å®šã‚’å§”ããŸå ´åˆã‚„
MPM è¨è¨ˆã«ã‚ˆã£ã¦ã¯ã“ã®é™ã‚Šã§ã¯ã‚りã¾ã›ã‚“。
ProxyPass /example http://backend.example.com max=20 ttl=120 retry=300
パラメータ | デフォルト値 | 説明 |
---|---|---|
min | 0 | コãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ール内ã§å®Ÿéš›ã®æŽ¥ç¶šã«é–¢é€£ã—ã¦ã„ãªã„ã‚¨ãƒ³ãƒˆãƒªã®æœ€å°æ•°ã§ã™ã€‚ デフォルト値ã‹ã‚‰å¤‰æ›´ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã®ã¯ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã¨ã®æŽ¥ç¶šã«å¿…è¦ãª ヒープメモリを事å‰ã«å‰²ã‚Šå½“ã¦ã‚‹ã‹ç¶æŒã—ãªã‘れã°ã„ã‘ãªã„特別ãªçжæ³ã®ã¿ã§ã™ã€‚ |
max | 1...n | ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ã®æŽ¥ç¶šæ•°ã®æœ€å¤§å€¤ã§ã™ã€‚
デフォルト値ã¯ã€ä½¿ç”¨ã—ã¦ã„ã‚‹ MPM ã®ãƒ—ãƒã‚»ã‚¹ã‚ãŸã‚Šã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã«ãªã£ã¦ã„ã¾ã™ã€‚
Prefork MPM ã§ã¯å¸¸ã« 1 ã§ã€ä»–ã® MPM ã§ã¯ ThreadsPerChild
ディレクティブã§èª¿ç¯€ã§ãã¾ã™ã€‚ |
smax | max | ã‚‚ã—コãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ãƒ¼ãƒ«å†…ã®æŽ¥ç¶šä¸ã‚¨ãƒ³ãƒˆãƒªãŒ ttl パラメータ
ã§è¨å®šã—ãŸç”Ÿå˜æœŸé–“ã‚ˆã‚Šé•·ãæœªä½¿ç”¨ã®ã¾ã¾ã§ã‚れã°ã€
ã“ã®æŒ‡å®šå€¤ã‚’è¶Šãˆã‚‹åˆ†ã®ã‚¨ãƒ³ãƒˆãƒªã‚’解放ã—ã¾ã™ã€‚
ã‚‚ã—エントリãŒé–¢é€£ã™ã‚‹ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’æŒã¦ã°ã€æŽ¥ç¶šã‚’é–‰ã˜ã¾ã™ã€‚
デフォルト値ã‹ã‚‰å¤‰æ›´ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨ã™ã‚Œã°ã€
コãƒã‚¯ã‚·ãƒ§ãƒ³ãŒç”Ÿå˜æœŸé–“ã‚’è¶Šãˆã¦ã—ã¾ã£ãŸæ™‚ã«ã€
コãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ール内ã®è©²å½“エントリã®è§£æ”¾ã¨ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®åˆ‡æ–ã‚’
ã‚ˆã‚Šç©æ¥µçš„ã«å¿…è¦ã¨ã™ã‚‹ç‰¹åˆ¥ãªå ´åˆã®ã¿ã§ã™ã€‚ |
acquire | - | è¨å®šã™ã‚‹ã¨ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールã‹ã‚‰ãƒ•リーã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å–å¾—ã™ã‚‹ãŸã‚ã«
待機ã™ã‚‹å¾…ã¡æ™‚é–“ (ミリ秒å˜ä½) ã®æœ€å¤§å€¤ã«ãªã‚Šã¾ã™ã€‚フリーã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãŒãƒ—ールã«ãªã‹ã£ãŸå ´åˆã¯ã€
SERVER_BUSY ステータスをクライアントã«è¿”ã—ã¾ã™ã€‚
|
connectiontimeout | timeout | æŽ¥ç¶šã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’ç§’ã§æŒ‡å®šã—ã¾ã™ã€‚ ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã«æŽ¥ç¶šã‚’完了ã™ã‚‹ã¾ã§ã® Apache ã®å¾…ã¡æ™‚é–“ã§ã™ã€‚ å€¤ã®æœ€å¾Œã« ms を書ãã¨ã€ã‚¿ã‚¤ãƒ アウトã®å˜ä½ã‚’ミリ秒ã«ã§ãã¾ã™ã€‚ |
disablereuse | Off | 使用後ã™ãã« mod_proxy ãŒãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã¨ã®æŽ¥ç¶šã‚’切æ–ã—ã¦ã»ã—ã„æ™‚ã¯ã€
ã“ã®ãƒ‘ラメータを有効ã«ã™ã¹ãã§ã™ã€‚ãã†ã™ã‚‹ã“ã¨ã§ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã¨ã®
æ°¸ç¶šçš„ãªæŽ¥ç¶šã¨ãƒ—ーリングを無効ã«ã§ãã¾ã™ã€‚
ã“れã¯ã„ãã¤ã‹ã®çжæ³ä¸‹ã§å½¹ã«ç«‹ã¡ã¾ã™ã€‚例ãˆã°ã€Apache ã¨ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒ
ã®é–“ã«ãƒ•ァイアウォールãŒå˜åœ¨ã— (プãƒãƒˆã‚³ãƒ«ã¯å•ã‚ãªã„ã¨ã—ã¾ã™)ã€é»™ã£ã¦
æŽ¥ç¶šã‚’åˆ‡ã‚‰ã‚Œã‚‹å ´åˆã‚„ã€ã‚ã‚‹ã„ã¯ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒè‡ªä½“㌠DNS ã§
ラウンドãƒãƒ“ンã•れã¦ã„ã‚‹å ´åˆãªã©ã§ã™ã€‚コãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ーリングã«ã‚ˆã‚‹å†åˆ©ç”¨ã‚’
無効ã«ã™ã‚‹ã«ã¯ã€ã“ã®ãƒ‘ラメータ値を On ã«ã—ã¦ãã ã•ã„。
|
flushpackets | off | プãƒã‚シモジュール㌠"chunk" ã”ã¨ã«å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ã‚’è‡ªå‹•çš„ã«å¼·åˆ¶é€ä¿¡(フラッシュ) ã™ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚ 'off' ã¯å¿…è¦ãªæ™‚ã ã‘強制é€ä¿¡ã—ã¾ã™ã€‚ 'on' ã¯ãれãžã‚Œã® "chunk" データã”ã¨ã«å¼·åˆ¶é€ä¿¡ã—ã¾ã™ã€‚ 'auto' ã¯ã€ä¸€å®šæ™‚間待機ã—〠'flushwait' ã§æŒ‡å®šã—ãŸãƒŸãƒªç§’ã®é–“ã€å…¥åŠ›ãƒ‡ãƒ¼ã‚¿ãŒç„¡ã‘れã°å¼·åˆ¶é€ä¿¡ã—ã¾ã™ã€‚ ç¾åœ¨ã€ã“ã®ãƒ‘ラメータ㯠AJP ã§ã®ã¿æ„味ãŒã‚りã¾ã™ã€‚ |
flushwait | 10 | 'flushpackets' パラメータã®å€¤ãŒ 'auto' ã®å ´åˆã€å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ã‚’å¼·åˆ¶é€ä¿¡ã™ã‚‹å‰ã«ã€ 次ã®å…¥åŠ›ã‚’ã©ã®ãらã„å¾…ã¤ã‹ã‚’ミリ秒å˜ä½ã§æŒ‡å®šã—ã¾ã™ã€‚ |
keepalive | Off | ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¨ Apache ã®é–“ã«ãƒ•ァイアーウォールãŒã‚ã‚‹å ´åˆã«ã¯ã€
ã“ã®ãƒ‘ラメータを使ã£ã¦ãã ã•ã„。ファイアウォールã¯å¾€ã€…ã«ã—ã¦ã€
éžæ´»å‹•状態ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’è½ã¨ãã†ã¨ã—ã¾ã™ã€‚
ã“ã®ãƒ•ラグ㯠OS ã«æŒ‡ç¤ºã—ã¦ã€ åˆæœŸãŠã‚ˆã³ãã®å¾Œã® TCP ã‚ープアライブã®é–“隔㯠OS ã®ã‚°ãƒãƒ¼ãƒãƒ«è¨å®šã«ä¾å˜ã—ã¾ã™ãŒã€ 2 時間以上ã«ã—ãŸã»ã†ãŒã‚ˆã„ã§ã—ょã†ã€‚有効性を考ãˆã‚‹ã¨ã€ OS ã§è¨å®šã—ãŸé–“éš”ã¯ãƒ•ァイアウォールã§ä½¿ã‚れる閾値よりå°ã•ãã‚ã‚‹ã¹ãã§ã™ã€‚ |
lbset | 0 | ワーカーãŒå±žã™ã‚‹ãƒãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µã®ã‚¯ãƒ©ã‚¹ã‚¿ã‚»ãƒƒãƒˆã‚’è¨å®šã—ã¾ã™ã€‚ ãƒãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µã¯ã€ã‚ˆã‚Šå°ã•ã„ lbset 値をæŒã¤ãƒ¡ãƒ³ãƒãƒ¼ã‹ã‚‰ä½¿ãŠã†ã¨ã—ã¾ã™ã€‚ |
ping | 0 | ã“ã®è¨å®šã«ã‚ˆã‚Šã€Web サーãƒã¯ ajp13 通信ã§ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ä¿¡ã™ã‚‹å‰ã«
CPING ã‚’é€ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
パラメータ値ã¯ã€CPONG ãƒªãƒ—ãƒ©ã‚¤ã‚’å¾…ã¤æ™‚é–“ã‚’ç§’å˜ä½ã§æŒ‡å®šã—ã¾ã™ã€‚
ã“ã®æ©Ÿèƒ½ã¯ã€ãƒãƒ³ã‚°ã—ãŸã‚Šé«˜è² è·çŠ¶æ…‹ã® Tomcat ã«èµ·å› ã™ã‚‹å•題を回é¿ã™ã‚‹ãŸã‚ã«
è¿½åŠ ã•れã¾ã—ãŸã€‚ ã¾ãŸã€ajp13 å´ã« ping/pong 機能ã®ã‚µãƒãƒ¼ãƒˆãŒå¿…è¦ã§ã™ã€‚
Tomcat 㯠3.3.2 以é™, 4.1.28 以é™, 5.0.13 以é™ãŒ ping/pong 機能を実装ã—ã¦ã„ã¾ã™ã€‚
ã“ã®æ©Ÿèƒ½ã¯ã€é€šå¸¸åˆ©ç”¨ã§ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒˆãƒ©ãƒ•ィックを増やã™å¯èƒ½æ€§ãŒã‚りã€
å•題ã«ãªã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。ã—ã‹ã—ã€ã‚¯ãƒ©ã‚¹ã‚¿ã‚’å½¢æˆã™ã‚‹ãƒŽãƒ¼ãƒ‰ã®ä¸€éƒ¨ãŒ
ダウンã—ãŸã‚Šé«˜è² è·ã«ãªã£ãŸæ™‚ã«ã¯ãƒˆãƒ©ãƒ•ィックを抑制ã§ãã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
ç¾åœ¨ã€ã“ã®è¨å®šã¯ AJP ã§ã®ã¿æ„味ãŒã‚りã¾ã™ã€‚
å€¤ã®æœ€å¾Œã« ms を書ãã¨ã€å˜ä½ã‚’ミリ秒ã«ã§ãã¾ã™ã€‚
|
loadfactor | 1 | ワーカーã‚ãŸã‚Šã®è² è·ä¿‚æ•°ã§ã™ã€‚BalancerMember ã§ä½¿ã„ã¾ã™ã€‚ 1 ã‹ã‚‰ 100 ã¾ã§ã®æ•°å—ã§ãã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã«å¯¾ã™ã‚‹æ£è¦åŒ–ã•れãŸè² è·çŽ‡ã‚’æŒ‡å®šã—ã¾ã™ã€‚ |
redirect | - | ワーカーã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³çµŒè·¯ã§ã™ã€‚ã“ã®å€¤ã¯é€šå¸¸ã¯ã€ クラスタã‹ã‚‰å®‰å…¨ã«ãƒŽãƒ¼ãƒ‰ã‚’å–り除ã‘るよã†ã«å‹•çš„ã«ã‚»ãƒƒãƒˆã•れã¾ã™ã€‚ ã‚‚ã—è¨å®šã™ã‚‹ã¨ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ ID ç„¡ã—ã®å…¨ã¦ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã€ ã“ã®å€¤ã¨åŒã˜ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ãƒ‘ラメータをæŒã¤ BalancerMember ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•れã¾ã™ã€‚ |
retry | 60 | コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’プーリングã™ã‚‹ãŸã‚ã®ã€ãƒªãƒˆãƒ©ã‚¤ã®ã‚¿ã‚¤ãƒ アウトを秒㧠指定ã—ã¾ã™ã€‚ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¸ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ーリングãŒå¤±æ•—ã—ãŸå ´åˆã¯ã€ ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã®æœŸé–“ãŒéŽãŽã‚‹ã¾ã§ã€ãã®ã‚µãƒ¼ãƒã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’フォワードã—ã¾ã›ã‚“。 ã“ã®æ©Ÿèƒ½ã‚’使ã†ã¨ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã‚’メンテナンスã®ãŸã‚ã«ã‚·ãƒ£ãƒƒãƒˆãƒ€ã‚¦ãƒ³ã—〠後ã§ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã«å¾©å¸°ã•ã›ã‚‹ã¨ã„ã£ãŸã“ã¨ãŒã§ãã¾ã™ã€‚ 0 を指定ã™ã‚‹ã¨ã€å¤±æ•—ã—ãŸãƒ¯ãƒ¼ã‚«ãƒ¼ã¸ã€ã‚¿ã‚¤ãƒ アウト無ã—ã§å¸¸ã«ãƒªãƒˆãƒ©ã‚¤ã—ã¾ã™ã€‚ |
route | - | ãƒãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µã§ä½¿ã‚れãŸå ´åˆã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã®ãƒ«ãƒ¼ãƒˆå€¤ã€‚ ルート値ã¯ã‚»ãƒƒã‚·ãƒ§ãƒ³ ID ã«ä»˜åŠ ã•れる値ã§ã™ã€‚ |
status | - | 一文å—ã§ãƒ¯ãƒ¼ã‚«ãƒ¼ã®åˆæœŸçŠ¶æ…‹ã‚’å®šç¾©ã—ã¾ã™: 'D' ã¯ç„¡åй (disabled)〠'S' ã¯åœæ¢ (stopped)〠'I' ã¯ã‚¨ãƒ©ãƒ¼ç„¡è¦– (ignore-errors)〠'H' ã¯ãƒ›ãƒƒãƒˆã‚¹ã‚¿ãƒ³ãƒã‚¤ (hot-standby)〠'E' ã¯ã‚¨ãƒ©ãƒ¼çŠ¶æ…‹ (error) ã§ã™ã€‚ '+' ã‚’æ–‡å—ã®å‰ã«æ›¸ã„ã¦æœ‰åйã«ã™ã‚‹ã‹ (ã“れãŒãƒ‡ãƒ•ォルト動作ã§ã™)〠ã‚ã‚‹ã„㯠'-' を書ã„ã¦ç„¡åйã«ã§ãã¾ã™ã€‚ã¤ã¾ã‚Šã€ 'S-E' ã®æŒ‡å®šã¯ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’åœæ¢çŠ¶æ…‹ ã‹ã¤ã€ã‚¨ãƒ©ãƒ¼çŠ¶æ…‹ãƒ•ãƒ©ã‚°ã®ã‚¯ãƒªã‚¢ã‚’æ„味ã—ã¾ã™ã€‚ |
timeout | ProxyTimeout |
コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’ç§’ã§æŒ‡å®šã—ã¾ã™ã€‚ ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‹ã‚‰ã®ãƒ‡ãƒ¼ã‚¿å—ä¿¡ãŠã‚ˆã³ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã¸ã®ãƒ‡ãƒ¼ã‚¿é€ä¿¡ã® Apache ã®å¾…ã¡æ™‚é–“ã§ã™ã€‚ |
ttl | - | éžæ´»å‹•状態ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¨ã€é–¢é€£ã™ã‚‹ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ール内ã®ã‚¨ãƒ³ãƒˆãƒªã® ç”Ÿå˜æ™‚é–“ã‚’ç§’ã§æŒ‡å®šã—ã¾ã™ã€‚ã„ã£ãŸã‚“ã“ã®åˆ¶é™ã«é”ã™ã‚‹ã¨ã€ コãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ãµãŸãŸã³ä½¿ã‚れるã“ã¨ã¯ã‚りã¾ã›ã‚“。 ã¤ã¾ã‚Šã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ä¸€å®šæ™‚間後ã«é–‰ã˜ã‚‰ã‚Œã¾ã™ã€‚ |
ã‚‚ã— ProxyPass
ディレクティブã®ã‚¹ã‚ームãŒ
balancer://
ã§å§‹ã¾ã‚‹å ´åˆ (例ãˆã° balancer://cluster/
ã€
ãƒ‘ã‚¹æƒ…å ±ã¯ç„¡è¦–ã•れã¾ã™)ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®ã‚µãƒ¼ãƒã¨å®Ÿéš›ã«ã¯é€šä¿¡ã—ãªã„
仮想ワーカーãŒç”Ÿæˆã•れã¾ã™ã€‚通信ã—ãªã„代ã‚りã«ã€ã“ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã¯å¹¾ã¤ã‹ã®
"本物ã®" ワーカーã®ç®¡ç†ã‚’ã¤ã‹ã•ã©ã‚Šã¾ã™ã€‚
ã“ã®å ´åˆã€ã„ãã¤ã‹ã®ç‰¹æ®Šãƒ‘ラメータをã€ã“ã®ä»®æƒ³ãƒ¯ãƒ¼ã‚«ãƒ¼ã«å¯¾ã—ã¦è¨å®šã§ãã¾ã™ã€‚
ãƒãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚¹å‹•作ã®ã‚ˆã‚Šè©³ã—ã„æƒ…å ±ã¯ã€mod_proxy_balancer
ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
パラメータ | デフォルト値 | 説明 |
---|---|---|
lbmethod | byrequests | Balancer ã®ãƒãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚¹æ–¹æ³•。使用ã™ã‚‹ãƒãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚¹ã®
スケジューリング方法をé¸ã³ã¾ã™ã€‚処ç†ã—ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ•°ã§é‡ã¿ä»˜ã‘ã™ã‚‹
byrequests ã‹ã€è»¢é€é‡ã®ãƒã‚¤ãƒˆæ•°ã§é‡ã¿ä»˜ã‘ã™ã‚‹
bytraffic ã‹ã€å¾…機ä¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆæ•°ã§æŒ¯ã‚Šåˆ†ã‘ã‚‹
bybusyness ã‚’è¨å®šã§ãã¾ã™ (Apache HTTP サーム2.2.10 以é™)。
デフォルトã¯byrequests ã§ã™ã€‚
|
maxattempts | ãƒ¯ãƒ¼ã‚«ãƒ¼ã®æ•°ã‚ˆã‚Šã²ã¨ã¤å°‘ãªã„数。ã‚ã‚‹ã„ã¯ãƒ¯ãƒ¼ã‚«ãƒ¼ãŒã²ã¨ã¤ã§ã‚れã°1 | フェイルオーãƒãƒ¼ã‚’試ã¿ã‚‹æœ€å¤§ã®å›žæ•°ã‚’指定ã—ã¾ã™ã€‚ |
nofailover | Off | On ã«ãªã£ã¦ã„ã‚‹ã¨ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ãŒã‚¨ãƒ©ãƒ¼ã‚’èµ·ã“ã—ãŸã‚Š
無効ã«ãªã£ã¦ã„ã‚‹å ´åˆã«ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒåˆ‡ã‚Œã¾ã™ã€‚
ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒãŒã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ¬ãƒ—リケーションをサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„å ´åˆã¯ã€
On ã«ã—ã¦ãã ã•ã„。
|
stickysession | - | ãƒãƒ©ãƒ³ã‚µãƒ¼ã®ã‚¹ãƒ†ã‚£ãƒƒã‚ーセッションåã§ã™ã€‚通常ã¯ã“ã®å€¤ã¯ JSESSIONID
ã‚„ PHPSESSIONID ã¨ã„ã£ãŸã‚‚ã®ã«ãªã‚Šã¾ã™ãŒã€ã“ã®å€¤ã¯
セッションをサãƒãƒ¼ãƒˆã™ã‚‹ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®ã‚¢ãƒ—リケーションサーãƒã«ä¾å˜ã—ã¾ã™ã€‚
ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®ã‚¢ãƒ—リケーションサーãƒãŒã€ã‚¯ãƒƒã‚ーやURLエンコードID
ã«ç•°ãªã‚‹ã‚»ãƒƒã‚·ãƒ§ãƒ³åを使ã†å ´åˆ(サーブレットコンテナã®ã‚ˆã†ã«)ã€
| æ–‡å—ã§ãµãŸã¤ã®åå‰ã‚’区切ã£ã¦ãã ã•ã„。
最åˆã®åå‰ãŒã‚¯ãƒƒã‚ー用ã§ã€äºŒç•ªç›®ãŒURLパス用ã§ã™ã€‚
|
scolonpathdelim | Off | On ã«ã‚»ãƒƒãƒˆã™ã‚‹ã¨ã€ã‚»ãƒŸã‚³ãƒãƒ³æ–‡å— ';' をスティッã‚ーセッション
ã®åˆ¥ã®åŒºåˆ‡ã‚Šæ–‡å—ã¨ã—ã¦ä½¿ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
ã“れã¯ä¸»ã« mod_jk ã®å‹•作ã«åˆã‚ã›ã‚‹ãŸã‚ã«ä½¿ã„ã¾ã™ã€‚例ãˆã°ã€
JSESSIONID=6736bcf34;foo=aabfa ã®ã‚ˆã†ãªæŒ‡å®šã§ã™ã€‚
|
timeout | 0 | ãƒãƒ©ãƒ³ã‚µãƒ¼ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’ç§’ã§æŒ‡å®šã—ã¾ã™ã€‚ ã“ã®å€¤ã‚’è¨å®šã™ã‚‹ã¨ã€ãƒ•リーã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’å–å¾—ã™ã‚‹ã¾ã§ã®æœ€å¤§å¾…機時間ã«ãªã‚Šã¾ã™ã€‚ デフォルトã§ã¯å¾…機ã—ã¾ã›ã‚“。 |
failonstatus | - | ã²ã¨ã¤ã€ã‚ã‚‹ã„ã¯ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šã®è¤‡æ•°ã® HTTP ステータスコードã§ã™ã€‚ ã“ã®å€¤ã‚’è¨å®šã™ã‚‹ã¨ã€åˆ—挙ã—ãŸã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚³ãƒ¼ãƒ‰ã®ã©ã‚Œã‹ã‚’ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãŒè¿”ã—ãŸæ™‚〠ãã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚’エラー状態ã«ã—ã¾ã™ã€‚ワーカーã®ã‚¨ãƒ©ãƒ¼ã‹ã‚‰ã®å›žå¾©ã¯ ä»–ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚¨ãƒ©ãƒ¼ã¨åŒã˜ã‚ˆã†ã«å‹•作ã—ã¾ã™ã€‚ Apache HTTP サーム2.2.17 以é™ã§ä½¿ç”¨å¯èƒ½ã§ã™ã€‚ |
ãƒãƒ©ãƒ³ã‚µãƒ¼ã®è¨å®šä¾‹
ProxyPass /special-area http://special.example.com smax=5 max=10
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
<Proxy balancer://mycluster>
BalancerMember ajp://1.2.3.4:8009
BalancerMember ajp://1.2.3.5:8009 loadfactor=20
# Less powerful server, don't send as many requests there,
BalancerMember ajp://1.2.3.6:8009 loadfactor=5
</Proxy>
ホットスタンãƒã‚¤ã®è¨å®šä¾‹ã§ã™ã€‚ä»–ã®ãƒ¡ãƒ³ãƒãƒ¼ãŒåˆ©ç”¨ã§ããªã„å ´åˆã®ã¿ 使ã‚れã¾ã™ã€‚
ProxyPass / balancer://hotcluster/
<Proxy balancer://hotcluster>
BalancerMember ajp://1.2.3.4:8009 loadfactor=1
BalancerMember ajp://1.2.3.5:8009 loadfactor=2
# The below is the hot standby
BalancerMember ajp://1.2.3.6:8009 status=+H
ProxySet lbmethod=bytraffic
</Proxy>
通常ã€mod_proxy 㯠ProxyPass ã—㟠URL ã‚’æ£è¦åŒ–ã—ã¾ã™ã€‚ ã—ã‹ã—ã€ã“れã«ã‚ˆã‚Šãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®äº’æ›æ€§ã«å•題ãŒç”Ÿã˜ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚ 特ã«ã€PATH_INFO を使ã£ã¦ã„ã‚‹å ´åˆã«èµ·ããŒã¡ã§ã™ã€‚ nocanon ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯æ£è¦åŒ–を抑制ã—ã€URL ã®ãƒ‘スをãã®ã¾ã¾ ("raw") ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã«ä¼ãˆã¾ã™ã€‚ã“れãŒãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®ã‚»ã‚ュリティã«å½±éŸ¿ã‚’与ãˆã‚‹å¯èƒ½æ€§ã« 注æ„ã—ã¦ãã ã•ã„。ã¨è¨€ã†ã®ã‚‚ã€ãƒ—ãƒã‚ã‚·ã«ã‚ˆã£ã¦æä¾›ã•れã¦ã„ãŸã€ URL ãƒ™ãƒ¼ã‚¹ã®æ”»æ’ƒã¸ã®é€šå¸¸ã®ä¸€å®šã®é˜²å¾¡ã‚’ç„¡ãã™ã“ã¨ã«ãªã‚‹ã‹ã‚‰ã§ã™ã€‚
オプショナル㪠interpolate ã‚ーワード (httpd 2.2.9 以é™ã§åˆ©ç”¨å¯èƒ½)
ã‚’ ProxyPassInterpolateEnv
ディレクティブã¨
一緒ã«ä½¿ã†ã¨ã€${VARNAME} å½¢å¼ã§ã€ ProxyPass è¨å®šã«ç’°å¢ƒå¤‰æ•°ã‚’
使ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ã“ã®æ™‚ã€æ¨™æº–的㪠CGI ç”±æ¥ã®ç’°å¢ƒå¤‰æ•°ã®å¤šãã¯
ç½®æ›ã«ä½¿ãˆãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ãã®ãŸã‚ã€è¤‡é›‘ãªãƒ«ãƒ¼ãƒ«ã®è¨˜è¿°ã®ãŸã‚ã«ã¯ã€
mod_rewrite
ã«é ¼ã‚‹ã“ã¨ã«ãªã‚‹ã§ã—ょã†ã€‚
<Location>
セクションã®ä¸ã§ä½¿ã‚れãŸå ´åˆã€æœ€åˆã®å¼•æ•°ã¯
çœç•¥ã•れã€ãƒãƒ¼ã‚«ãƒ«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ <Location>
ã‹ã‚‰å–å¾—ã•れã¾ã™ã€‚
åŒã˜ã“ã¨ã¯ <LocationMatch>
セクション内ã§ã‚‚èµ·ãã¾ã™ã€‚ã—ã‹ã—ã€ProxyPass ã¯æ£è¦è¡¨ç¾ã‚’解釈ã—ãªã„ã®ã§ã€
ã“ã®çжæ³ã§ã¯ä»£ã‚り㫠ProxyPassMatch
を使ã†å¿…è¦ãŒã‚りã¾ã™ã€‚
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠<Directory>
ã‚„ <Files>
セクション内ã§ã¯ä½¿ãˆã¾ã›ã‚“。
より柔軟ãªãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã®è¨å®šãŒå¿…è¦ãªå ´åˆã¯ã€[P]
フラグ付ãã® RewriteRule
ディレクティブをå‚ç…§ã—ã¦ãã ã•ã„。
説明: | リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·è¨å®šå†…ã§ã®ç’°å¢ƒå¤‰æ•°ã®ä½¿ç”¨ã‚’有効ã«ã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyPassInterpolateEnv On|Off |
デフォルト: | ProxyPassInterpolateEnv Off |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | Apache 2.2.9 以é™ã§ä½¿ç”¨å¯èƒ½ |
ProxyPass
, ProxyPassReverse
,
ProxyPassReverseCookieDomain
,
ProxyPassReverseCookiePath
ã®
interpolate 引数ã¨ä¸€ç·’ã«ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を使ã†ã¨ã€
環境変数を使ã£ã¦ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã‚’å‹•çš„ã«è¨å®šã§ãã¾ã™ã€‚
mod_rewrite
ãªã©ä»–ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã™ã‚‹æƒ³å®šã§ã™ã€‚
ProxyPass
ディレクティブ,
ProxyPassReverse
ディレクティブ,
ProxyPassReverseCookieDomain
ディレクティブ,
ProxyPassReverseCookiePath
ディレクティブ
ã®å‹•作ã«å½±éŸ¿ã‚’与ãˆã€ã“れらã®è¨å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–内㮠${varname}
ã®æ–‡å—列を
環境変数 varname
ã®å€¤ã§ç½®ãæ›ãˆã¾ã™ã€‚
(interpolate オプションãŒã‚»ãƒƒãƒˆã•れã¦ã„れã°)
å¿…è¦ã«ãªã‚‰ãªã„é™ã‚Šã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ç„¡åйã«ã—ã¦ãã ã•ã„。 (サーãƒã®ãƒ‘フォーマンスã®ãŸã‚)
説明: | æ£è¦è¡¨ç¾ã‚’使ã£ã¦ãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã‚’ãƒãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã® URL 空間ã«ãƒžãƒƒãƒ—ã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyPassMatch [regex] !|url [key=value
[key=value ...]] |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | Apache 2.2.5 以é™ã§ä½¿ç”¨å¯èƒ½ |
å˜ç´”ãªæ–‡å—åˆ—å‰æ–¹ä¸€è‡´ã§ã¯ãªãæ£è¦è¡¨ç¾ã‚’用ã„ã‚‹ã“ã¨ã‚’除ã„ã¦ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯
ProxyPass
ã¨åŒã˜ã§ã™ã€‚
指定ã—ãŸæ£è¦è¡¨ç¾ã§ url ã«å¯¾ã—ã¦ãƒžãƒƒãƒã‚’試ã¿ã¾ã™ã€‚
マッãƒã™ã‚‹ã¨ã€ã‚µãƒ¼ãƒã¯ãƒžãƒƒãƒã—ãŸä¸¸æ‹¬å¼§éƒ¨åˆ†ã‚’剿–¹å‚ç…§ã®ç½®æ›ã«ä½¿ã„ã€æ–°ã—ã„ url
ã«ã—ã¾ã™ã€‚
ãƒãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒ http://example.com/
ã ã¨ã—ã¾ã™;
ã™ã‚‹ã¨
ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com$1
ã¯ã€ãƒãƒ¼ã‚«ãƒ«ã® http://example.com/foo/bar.gif
ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’
内部的㫠http://backend.example.com/foo/bar.gif
ã¸ã®ãƒ—ãƒã‚シリクエスト
ã«å¤‰æ›ã—ã¾ã™ã€‚
URL å¼•æ•°ã¯æ£è¦è¡¨ç¾ã«ã‚ˆã‚‹ç½®æ›ã® å‰ ã§ã‚‚ (当然ã€ç½®æ›å¾Œã§ã‚‚)〠URL ã¨ã—ã¦è§£é‡ˆã§ããªã‘れã°ã„ã‘ã¾ã›ã‚“。ã“れã¯ä½¿ãˆã‚‹ãƒžãƒƒãƒã«åˆ¶ç´„ã‚’ã‚‚ãŸã‚‰ã—ã¾ã™ã€‚ 例ãˆã°ã€ä¸Šè¨˜ã®ä¾‹ã§
ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com:8000$1
ã¨æ›¸ã„ãŸã¨ã—ã¾ã™ã€‚ã“れã¯ã‚µãƒ¼ãƒèµ·å‹•時ã«ã‚·ãƒ³ã‚¿ãƒƒã‚¯ã‚¹ã‚¨ãƒ©ãƒ¼ã‚’èµ·ã“ã™ã§ã—ょã†ã€‚ ã“れã¯ãƒã‚°ã§ã™ (ASF bugzilla ã® PR 46665)。 回é¿ç–ã¨ã—ã¦ãƒžãƒƒãƒåˆ¤å®šã‚’æ›¸ãæ›ãˆã‚‹å¿…è¦ãŒã‚りã¾ã™:
ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com:8000/$1
サブディレクトリをリãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã—ãŸããªã„ã¨ãã« !
ã¯
å½¹ã«ç«‹ã¡ã¾ã™ã€‚
<LocationMatch>
セクションã®ä¸ã§ä½¿ã‚れãŸå ´åˆã¯ã€
最åˆã®å¼•æ•°ã¯çœç•¥ã•ã‚Œã€æ£è¦è¡¨ç¾ã¯ <LocationMatch>
ã‹ã‚‰å–å¾—ã•れã¾ã™ã€‚
より柔軟ãªãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã®è¨å®šãŒå¿…è¦ãªå ´åˆã¯ã€[P]
フラグ付ãã® RewriteRule
ディレクティブをå‚ç…§ã—ã¦ãã ã•ã„。
ルールã®å¯¾è±¡ URL ã®ç”Ÿæˆã«ã¯æ³¨æ„ã—ã¦ãã ã•ã„。ã‚ãªãŸã®ã‚µãƒ¼ãƒãŒãƒ—ãƒã‚ã‚· ã¨ã—ã¦æŒ¯ã‚‹èˆžã†å¯èƒ½æ€§ã®ã‚ã‚‹ URL ã«å¯¾ã—ã¦ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸ã®å½±éŸ¿ãŒã‚りã¾ã™ã€‚ ã“れã«ã‚ˆã‚‹ã‚»ã‚ュリティインパクトを考慮ã—ã¦ãã ã•ã„。URL ã®ã†ã¡ã€ã‚¹ã‚ームã¨ãƒ›ã‚¹ãƒˆå ã®éƒ¨åˆ†ã‚’ãれãžã‚Œç¢ºå®Ÿã«å›ºå®šã—ã¦ãã ã•ã„。ãã†ã§ãªã„ã¨ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ä¸å½“ãªå½±éŸ¿ã‚’ 与ãˆã‹ãã¾ã›ã‚“。
説明: | リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã•れãŸã‚µãƒ¼ãƒã‹ã‚‰é€ã‚‰ã‚ŒãŸ HTTP レスãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€ã® URL を調整ã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyPassReverse [path] url
[interpolate] |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_proxy |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Apache ã« HTTP リダイレクト応ç”ã®
Location
, Content-Location
, URI
ヘッダã®èª¿æ•´ã‚’ã•ã›ã¾ã™ã€‚ã“れã¯ã€Apache ãŒãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚· (ゲートウェイ)
ã¨ã—ã¦ä½¿ã‚れã¦ã„ã‚‹ã¨ãã«ã€ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚シを通らãªã„アクセスを防æ¢ã™ã‚‹ã®ã«é‡è¦ã§ã™ã€‚
ã“ã®ã‚ˆã†ãªã‚¢ã‚¯ã‚»ã‚¹ã¯ã€ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã®èƒŒå¾Œã«ã„ã‚‹ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒã¸ã®
HTTP リダイレクトãŒåŽŸå› ã§èµ·ãã¾ã™ã€‚
上記ã®ç‰¹åˆ¥ãªãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆç”¨ã® HTTP レスãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€ã®ã¿ãŒæ›¸ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚ Apache ã¯ä»–ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€ã‚’æ›¸ãæ›ãˆãŸã‚Šã€HTML ページã®ä¸ã® URL å‚ç…§ã‚’ æ›¸ãæ›ãˆãŸã‚Šã™ã‚‹ã“ã¨ã¯ã‚りã¾ã›ã‚“。ã¤ã¾ã‚Šã€ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã•れ㟠HTML ページ内㫠絶対 URL å‚ç…§ãŒå˜åœ¨ã™ã‚‹ã¨ã€ãƒ—ãƒã‚シを通ã•ãšã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ HTML ã®ä¸ã‚’見ã¦ã€URL å‚ç…§ã‚’æ›¸ãæ›ãˆã‚‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã« Nick Kew ã•ã‚“ã® mod_proxy_html ãŒã‚りã¾ã™ã€‚
path ã¯ãƒãƒ¼ã‚«ãƒ«ä»®æƒ³ãƒ‘スã®åå‰ã§ã™ã€‚url ã¯
リモートサーãƒã®éƒ¨åˆ† URL ã§ã™ã€‚ã“れら㯠ProxyPass
ディレクティブã¨åŒæ§˜ã§ã™ã€‚
例ãˆã°ã€ãƒãƒ¼ã‚«ãƒ«ã‚µãƒ¼ãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒ http://example.com/
ã ã¨ã—ã¾ã™ã€‚ã™ã‚‹ã¨
ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath / /mirror/foo/
ã¨ã„ã†è¨å®šã‚’ã™ã‚‹ã¨ã€http://example.com/mirror/foo/bar
ã¸ã®ãƒãƒ¼ã‚«ãƒ«ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒ http://backend.example.com/bar
ã¸ã®ãƒ—ãƒã‚シリクエストã«å†…部ã§å¤‰æ›ã•れるã ã‘ã§ã¯ã‚りã¾ã›ã‚“
(ã“れ㯠ProxyPass
ã®æ©Ÿèƒ½ã§ã™)。backend.example.com
サーãƒãŒé€ã‚‹ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã®é¢å€’ã‚‚ã¿ã¾ã™ã€‚http://backend.example.com/bar
㌠http://backend.example.com/quux
ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•れãŸã¨ãã€
Apache 㯠HTTP リダイレクト応ç”をクライアントã«é€ã‚‹å‰ã«ã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå…ˆã‚’
http://example.com/mirror/foo/quux
ã«å¤‰æ›´ã—ã¾ã™ã€‚
URL ã‚’æ§‹æˆã™ã‚‹ã®ã«ä½¿ã‚れるホストå㯠UseCanonicalName
ã®è¨å®šã«å¿œã˜ã¦é¸æŠžã•れるã“ã¨ã«
注æ„ã—ã¦ãã ã•ã„。
ProxyPassReverse
ディレクティブã¯
対応ã™ã‚‹ ProxyPass
ディレクティブã¨ç‹¬ç«‹ã—ã¦åˆ©ç”¨ã§ãã‚‹ã®ã§ã€
mod_rewrite
ã®ãƒ—ãƒã‚ã‚·é€šéŽæ©Ÿèƒ½
(RewriteRule ... [P]
) ã¨ä½µã›ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
オプショナル㪠interpolate ã‚ーワード (httpd 2.2.9 以é™ã§åˆ©ç”¨å¯èƒ½)
ã‚’ ProxyPassInterpolateEnv
ディレクティブã¨
一緒ã«ä½¿ã†ã¨ã€${VARNAME} å½¢å¼ã§ã€ ProxyPassReverse è¨å®šã«ç’°å¢ƒå¤‰æ•°ã‚’
使ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
<Location>
セクションã®ä¸ã§ä½¿ã‚れãŸå ´åˆã¯ã€
最åˆã®å¼•æ•°ã¯çœç•¥ã•れã€ãƒãƒ¼ã‚«ãƒ«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ <Location>
ã‹ã‚‰å–å¾—ã•れã¾ã™ã€‚
åŒã˜ã“ã¨ã¯ <LocationMatch>
セクション内ã§ã‚‚èµ·ãã¾ã™ãŒã€
ãŠãã‚‰ãæ„å›³ã©ãŠã‚Šã«å‹•ãã¾ã›ã‚“。ã¨è¨€ã†ã®ã‚‚ã€ProxyPassReverse
ãŒæ£è¦è¡¨ç¾ã‚’ãã®ã¾ã¾æ–‡å—列ã§ãƒ‘スã¨ã—ã¦è§£é‡ˆã—よã†ã¨ã™ã‚‹ã‹ã‚‰ã§ã™ã€‚
ã‚‚ã—ã“ã®ã‚ˆã†ãªçжæ³ã§å¿…è¦ãªã‚‰ã€ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®å¤–ã§ ProxyPassReverse
を指定ã™ã‚‹ã‹ã€ã‚ã‚‹ã„ã¯åˆ¥ã® <Location>
ã‚»ã‚¯ã‚·ãƒ§ãƒ³å†…ã§æŒ‡å®šã—ã¦ãã ã•ã„。
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠<Directory>
ã‚„ <Files>
セクション内ã§ã¯ä½¿ãˆã¾ã›ã‚“。
説明: | リãƒãƒ¼ã‚¹ãƒ—ãƒã‚シサーãƒã‹ã‚‰ã® Set-Cookie ヘッダ㮠Domain æ–‡å—列を 調整ã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyPassReverseCookieDomain internal-domain
public-domain [interpolate] |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_proxy |
使用法ã¯åŸºæœ¬çš„ã«
ProxyPassReverse
ã¨åŒã˜ã§ã™ãŒã€
ヘッダ㮠URL ã®ä»£ã‚り㫠Set-Cookie
ヘッダ内ã®
domain
æ–‡å—åˆ—ã‚’æ›¸ãæ›ãˆã¾ã™ã€‚
説明: | リãƒãƒ¼ã‚¹ãƒ—ãƒã‚シサーãƒã‹ã‚‰ã® Set-Cookie ヘッダ㮠Path æ–‡å—列を 調整ã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyPassReverseCookiePath internal-path
public-path [interpolate] |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_proxy |
ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã® URL パスãŒãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚シ上ã®å…¬é–‹ãƒ‘スã«ãƒžãƒƒãƒ—ã•れる状æ³ã§ã€
ProxyPassReverse
ã¨ã„ã£ã—ょã«
役立ã¡ã¾ã™ã€‚ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠Set-Cookie
ヘッダ内ã®
path
æ–‡å—åˆ—ã‚’æ›¸ãæ›ãˆã¾ã™ã€‚ã‚‚ã—クッã‚ーã®ãƒ‘スãŒ
internal-path ã«å…ˆé マッãƒã™ã‚Œã°ã€ã‚¯ãƒƒã‚ーã®ãƒ‘スã¯
public-path ã«ç½®æ›ã•れã¾ã™ã€‚
ProxyPassReverse
ã§ã®ä¾‹ã‚’使ã†ã¨ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–:
ProxyPassReverseCookiePath / /mirror/foo/
ã¯ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®ãƒ‘ス㌠/
(ã‚ã‚‹ã„㯠/example
ã‚ã‚‹ã„ã¯å®Ÿéš›ã®ã¨ã“ã‚ãªã‚“ã§ã‚‚) ã®ã‚¯ãƒƒã‚ーを /mirror/foo/
ã«æ›¸ãæ›ãˆã¾ã™ã€‚
説明: | プãƒã‚シリクエストã«ã€å—ã‘付ã‘㟠Host HTTP ヘッダを使ㆠ|
---|---|
æ§‹æ–‡: | ProxyPreserveHost On|Off |
デフォルト: | ProxyPreserveHost Off |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | Apache 2.0.31 以é™ã§ä½¿ç”¨å¯èƒ½ |
ã“ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæœ‰åйã«ãªã£ã¦ã„ã‚‹å ´åˆã€ProxyPass
ã§æŒ‡å®šã—ãŸãƒ›ã‚¹ãƒˆåã®ä»£ã‚りã«ã€å—ã‘付ã‘ãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® Host: 行を
プãƒã‚ã‚·å…ˆã®ãƒ›ã‚¹ãƒˆã«é€ã‚Šã¾ã™ã€‚
ã“ã®ã‚ªãƒ—ションã¯é€šå¸¸ã¯ Off
ã«è¨å®šã—ã¦ãã ã•ã„。
ã»ã¨ã‚“ã©ã®å ´åˆã€ã“れã¯å¤§é‡ã®åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒ†ã‚£ãƒ³ã‚°ã‚’行ãªã£ã¦ã„ã¦ã€
元々㮠Host ヘッダをãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚µãƒ¼ãƒãŒè§£é‡ˆã™ã‚‹å¿…è¦ã®ã‚ã‚‹ã¨ãã®ã‚ˆã†ãªã€
特別ãªè¨å®šãŒå¿…è¦ãªå ´åˆã«ã®ã¿æœ‰ç”¨ã§ã™ã€‚
説明: | プãƒã‚ã‚·ã•れる HTTP 㨠FTP 接続ã®ãŸã‚ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ァサイズ |
---|---|
æ§‹æ–‡: | ProxyReceiveBufferSize bytes |
デフォルト: | ProxyReceiveBufferSize 0 |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
ProxyReceiveBufferSize
ディレクティブã¯
スループットを上ã’ã‚‹ãŸã‚ã«æ˜Žç¤ºçš„ã« (TCP/IP) ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’
è¨å®šã—ã¾ã™ã€‚値㯠512
以上ã‹ã€ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‡ãƒ•ォルトã®ãƒãƒƒãƒ•ã‚¡
サイズをæ„味ã™ã‚‹ 0
ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“。
ProxyReceiveBufferSize 2048
説明: | 特定ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’æ‰±ã†æ™‚ã«ä½¿ã‚れるリモートプãƒã‚シを指定ã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyRemote match remote-server |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã“ã®ãƒ—ãƒã‚ã‚·ã«å¯¾ã™ã‚‹ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ãƒã‚シを定義ã—ã¾ã™ã€‚
match ã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ãƒã‚ã‚·ãŒã‚µãƒãƒ¼ãƒˆã™ã‚‹ URL スã‚ームã€
ã‚ã‚‹ã„ã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ãƒã‚シを使ã†ã¹ã URL ã®ä¸€éƒ¨åˆ†ã€ã‚ã‚‹ã„ã¯ã™ã¹ã¦ã®
リクエストã«ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ãƒã‚ã‚·ãŒä½¿ã‚れるã“ã¨ã‚’示㙠*
ã®ã©ã‚Œã‹ã«ãªã‚Šã¾ã™ã€‚
remote-server ã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ãƒã‚ã‚·ã®éƒ¨åˆ† URL ã§ã™ã€‚æ§‹æ–‡:
remote-server =
scheme://hostname[:port]
scheme ã¯å®Ÿéš›ä¸Šãƒªãƒ¢ãƒ¼ãƒˆã‚µãƒ¼ãƒã¨ã®é€šä¿¡ã«ä½¿ã‚れるプãƒãƒˆã‚³ãƒ«ã‚’
決定ã—ã¾ã™ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§ã¯ http
㨠https
ã ã‘ãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã™ã€‚
https
ãŒä½¿ã‚れるã¨ã€HTTP CONNECT メソッドを使ã£ã¦
リクエストã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ãƒã‚ã‚·ã«è»¢é€ã•れã¾ã™ã€‚
ProxyRemote http://goodguys.example.com/ http://mirrorguys.example.com:8000
ProxyRemote * http://cleverproxy.localdomain
ProxyRemote ftp http://ftpproxy.mydomain:8080
最後ã®ä¾‹ã§ã¯ã€ãƒ—ãƒã‚シ㯠FTP リクエストを別㮠HTTP リクエストã§åŒ…ã‚“ã§ ãã®ã‚ˆã†ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ãˆã‚‹åˆ¥ã®ãƒ—ãƒã‚ã‚·ã«è»¢é€ã—ã¾ã™ã€‚
ã“ã®ã‚ªãƒ—ションã¯ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã®è¨å®šã‚‚サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚ ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚¦ã‚§ãƒ–サーãƒãŒåˆ¥ã®ãƒ•ォワードプãƒã‚ã‚·ã®å¾Œã‚ã«éš ã•れã¦ã„ã‚‹å ´åˆã§ã‚‚ ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚¦ã‚§ãƒ–サーãƒã‚’ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã® URL 空間ã«å…¥ã‚Œã‚‹ã“ã¨ãŒ ã§ãã¾ã™ã€‚
説明: | æ£è¦è¡¨ç¾ã§ã®ãƒžãƒƒãƒã«ã‚ˆã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’扱ã†ãƒªãƒ¢ãƒ¼ãƒˆãƒ—ãƒã‚ã‚·ã®æŒ‡å®š |
---|---|
æ§‹æ–‡: | ProxyRemoteMatch regex remote-server |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
ProxyRemoteMatch
ã¯æœ€åˆã®å¼•æ•°ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã•れãŸ
URL ã«ãƒžãƒƒãƒã™ã‚‹æ£è¦è¡¨ç¾ã§ã‚ã‚‹ã“ã¨ã‚’除ã‘ã° ProxyRemote
ディレクティブã¨åŒã˜ã§ã™ã€‚
説明: | フォワード (標準ã®) プãƒã‚シリクエストを有効ã«ã™ã‚‹ |
---|---|
æ§‹æ–‡: | ProxyRequests On|Off |
デフォルト: | ProxyRequests Off |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
ã“れ㯠Apache ã®ãƒ•ォワードプãƒã‚シサーãƒã¨ã—ã¦ã®å‹•作を
有効もã—ãã¯ç„¡åйã«ã—ã¾ã™ã€‚(ProxyRequests ã‚’ Off
ã«
è¨å®šã—ã¦ã‚‚ã€ProxyPass
ã®è¨å®šã¯ç„¡åйã«ãªã‚Šã¾ã›ã‚“。)
通常ã®ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·/ゲートウェイã®è¨å®šã§ã¯ã€ã“ã®ã‚ªãƒ—ション㯠Off
ã«è¨å®šã—ã¦ãã ã•ã„。
HTTP ã‚„ FTP サイトã¸ã®ãƒ—ãƒã‚ã‚·ã®æ©Ÿèƒ½ã‚’有効ã«ã—ãŸã„å ´åˆã¯ã€
mod_proxy_http
ã‚„ mod_proxy_ftp
ãŒ
サーãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ãªã‘れã°ãªã‚Šã¾ã›ã‚“。
サーãƒã‚’安全ã«ã™ã‚‹ã¾ã§ ProxyRequests
ã¯æœ‰åйã«ã—ãªã„ã§ãã ã•ã„。
オープンプãƒã‚シサーãƒã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚ã€
インターãƒãƒƒãƒˆå…¨ä½“ã«ã¨ã£ã¦ã‚‚å±é™ºã§ã™ã€‚
説明: | プãƒã‚ã‚·ã®ãƒãƒ©ãƒ³ã‚µã‚„メンãƒã®ãƒ‘ラメータをセット |
---|---|
æ§‹æ–‡: | ProxySet url key=value [key=value ...] |
コンテã‚スト: | ディレクトリ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | ProxySet 㯠Apache 2.2 以é™ã§ã®ã¿ä½¿ç”¨å¯èƒ½ |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€é€šå¸¸ã¯ ProxyPass
ディレクティブã§è¡Œã†ãƒ—ãƒã‚ã‚·ã®ãƒãƒ©ãƒ³ã‚µã‚„ワーカーã«å¯¾ã™ã‚‹ãƒ‘ラメータを
åˆ¥ã®æ–¹æ³•ã§è¨å®šã§ãるよã†ã«ã—ã¾ã™ã€‚
<Proxy balancer url|worker url>
ディレクティブã®ã‚³ãƒ³ãƒ†ãƒŠå†…ã§ä½¿ã†å ´åˆã€url 引数ã¯å¿…è¦ã‚りã¾ã›ã‚“。
副次的ã«ã€ãれãžã‚Œã®ãƒãƒ©ãƒ³ã‚µã‚„ワーカーãŒç”Ÿæˆã•れã¾ã™ã€‚
ProxyPass
ディレクティブã§ã¯ãªãã€
RewriteRule
ã§ãƒªãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·
è¨å®šã‚’ã™ã‚‹æ™‚ã«ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯æœ‰ç”¨ã§ã™ã€‚
<Proxy balancer://hotcluster>
BalancerMember http://www2.example.com:8009 loadfactor=1
BalancerMember http://www3.example.com:8009 loadfactor=2
ProxySet lbmethod=bytraffic
</Proxy>
<Proxy http://backend>
ProxySet keepalive=On
</Proxy>
ProxySet balancer://foo lbmethod=bytraffic timeout=15
ProxySet ajp://backend:7001 timeout=15
è¨å®šå¯¾è±¡ãŒãƒãƒ©ãƒ³ã‚µã‹ãƒ¯ãƒ¼ã‚«ãƒ¼ã‹ã§ã€ãƒ‘ラメータåãŒåŒã˜ã§ã‚‚æ„味ãŒç•°ãªã‚‹å¯èƒ½æ€§ ã«æ³¨æ„ã—ã¦ãã ã•ã„。例ãˆã°ã€ã‚¿ã‚¤ãƒ アウトã«é–¢é€£ã™ã‚‹ä¸Šè¨˜ãµãŸã¤ã®ä¾‹ãŒãã†ã§ã™ã€‚
説明: | mod_status ã§ãƒ—ãƒã‚ã‚·ã®ãƒãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µã®çŠ¶æ…‹ã‚’è¡¨ç¤º |
---|---|
æ§‹æ–‡: | ProxyStatus Off|On|Full |
デフォルト: | ProxyStatus Off |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | Apache 2.2 以é™ã§ä½¿ç”¨å¯èƒ½ |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㯠mod_status
ã«ã‚ˆã‚‹ã‚µãƒ¼ãƒã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã®ãƒšãƒ¼ã‚¸
ã«ãƒ—ãƒã‚ã‚·ã®ãƒãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µã®çŠ¶æ…‹ã‚’è¡¨ç¤ºã™ã‚‹ã‹å¦ã‹ã‚’決ã‚ã¾ã™ã€‚
Full 㯠On ã®åˆ¥åã§ã™ã€‚
説明: | プãƒã‚ã‚·ã•れãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¿ã‚¤ãƒ アウト |
---|---|
æ§‹æ–‡: | ProxyTimeout seconds |
デフォルト: |
|
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
äº’æ›æ€§: | Apache 2.0.31 以é™ã§ä½¿ç”¨å¯èƒ½ |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ¦ãƒ¼ã‚¶ãŒãƒ—ãƒã‚シリクエストã®ã‚¿ã‚¤ãƒ アウトを 指定ã§ãるよã†ã«ã—ã¾ã™ã€‚ã“れã¯ãƒãƒ³ã‚°ã—ã¦ã—ã¾ã†ã»ã©é…ã„ã€ã‚‚ã—ãã¯æŒ™å‹•㮠怪ã—ã„サーãƒãŒã‚りã€ã‚µãƒ¼ãƒãŒãƒ‡ãƒ¼ã‚¿ã‚’è¿”ã™ã¾ã§ã²ãŸã™ã‚‰å¾…ã¡ç¶šã‘るよりも タイムアウトを返ã—ã¦ã‚ˆã‚Šç·©ã‚„ã‹ã«(訳注: graceful ã«) 失敗ã•ã›ãŸã„å ´åˆã«å½¹ã«ç«‹ã¡ã¾ã™ã€‚
説明: | プãƒã‚ã‚·ã•れãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆã® Via HTTP レスãƒãƒ³ã‚¹ãƒ˜ãƒƒãƒ€
ã«ã‚ˆã‚Šæä¾›ã•ã‚Œã‚‹æƒ…å ± |
---|---|
æ§‹æ–‡: | ProxyVia On|Off|Full|Block |
デフォルト: | ProxyVia Off |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ |
ステータス: | Extension |
モジュール: | mod_proxy |
ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒ—ãƒã‚ã‚·ã® Via:
HTTP ヘッダã®ä½¿ç”¨ã‚’
制御ã—ã¾ã™ã€‚想定ã•れã¦ã„ã‚‹ä½¿ã„æ–¹ã¯ã€ãƒ—ãƒã‚シサーãƒãŒã„ãã¤ã‚‚繋ãŒã£ã¦ã„ã‚‹ã¨ãã«
プãƒã‚ã‚·ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æµã‚Œã‚’制御ã™ã‚‹ã“ã¨ã§ã™ã€‚Via:
ヘッダ行ã®
説明㯠RFC 2616 (HTTP/1.1)
ã® 14.45 節をèªã‚“ã§ãã ã•ã„。
Off
ã«è¨å®šã•れã¦ã„ã‚‹ã¨ã€ç‰¹åˆ¥ãªå‡¦ç†ã¯
行ãªã‚れã¾ã›ã‚“。リクエストやリプライ㫠Via:
ヘッダãŒã‚れã°ã€
変更ã•れãšã«ãã®ã¾ã¾æ¸¡ã—ã¾ã™ã€‚On
ã«è¨å®šã•れã¦ã„れã°ã€å„リクエストã¨ãƒªãƒ—ライã«
Via:
行ãŒè¿½åŠ ã•れã¾ã™ã€‚Full
ã«è¨å®šã•れã¦ã„れã°ã€Via:
ヘッダã¯
コメント部分㫠Apache サーãƒã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚‚å«ã‚€ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚Block
ã«è¨å®šã•れã¦ã„れã°ã€ã™ã¹ã¦ã®ãƒ—ãƒã‚シリクエストã‹ã‚‰
Via:
ヘッダãŒå–り除ã‹ã‚Œã¾ã™ã€‚æ–°ãŸã« Via:
ãŒ
生æˆã•れるã“ã¨ã¯ã‚りã¾ã›ã‚“。