「Apache」ProxyRemote ディレクティブ

mod_proxy モジュールの ProxyRemote ディレクティブについて、ちょっと調べたのでその時のメモ。

ドキュメントは以下になる。プロキシサーバとして利用したい、リモートサーバを指定するんかな。
http://httpd.apache.org/docs/2.4/en/mod/mod_proxy.html#proxyremote

※ リモートサーバに Web サーバ ( Apache とか ) 指定するとうまく動かない。知っている人は当然かも
ですが、知識のない私は結構はまりました ( 最終的には人の力借りました・・ )。
リモートサーバに指定したサーバに対しては、「GET http://192.168.1.5/proxy/test.html HTTP 1.1」
みたいな感じの GET リクエストが飛んでたので、Web サーバだとこのリクエストを処理できないからなの
かな。ちょっと自信ないが・・


あんまりごちゃごちゃ説明書くと、間違ったこと書きそうなので、検証で確認した設定と動作だけ書く。

構成は以下の感じ。

        • -

クライアント -- Web サーバ -- プロキシサーバ -- Web サーバ

        • -

クライアント : 192.168.1.3
Web サーバ : 192.168.1.4
プロキシサーバ : 192.168.1.4
Web サーバ : 192.168.1.5


httpd.conf の設定

LoadModule proxy_module modules/mod_proxy.so
ProxyPass /proxy http://192.168.1.5/proxy
ProxyRemote * http://192.168.1.4:3128

上記の設定を行うと
クライアントから「http://192.168.1.4/proxy/test.html」にアクセスした場合、
プロキシサーバ ( 192.168.1.4:3128 ) を経由した上で、「http://192.168.1.5/proxy/test.html
の情報を取得する、といった動作になる。

以上です。