リバースプロキシー

Apache1.3 の ProxyPass ディレクティブを使うと、他サーバーにあるコンテンツをローカルのサーバーにあるコンテンツのように見せることができる。ファイヤーウォール内のウェブサーバーにあるコンテンツの一部を外部に公開したいときなどに便利。

mod_proxy モジュールを有効にしたあとに、httpd.conf を以下のように変更する。

以下の例は /test1/ ディレクトリーにアクセスがあった場合に http://192.168.0.100/public/ 以下のコンテンツを返す設定。

LoadModule proxy_module modules/mod_proxy.so
.
.
.
AddModule mod_proxy.c
.
.
.
# Apache Reverse Proxy

<IfModule mod_proxy.c>
    ProxyRequests Off

    ProxyPass        /test1/ http://192.168.0.100/public/
    ProxyPassReverse /test1/ http://192.168.0.100/public/
</IfModule mod_proxy.c>

ProxyPassReverse は http://192.168.0.100/ からのリダイレクトがローカルのサーバーの適切な場所を指すように制御している。

ProxyRequests を Off にしておくと外部から不正プロキシーサーバーを利用されるのを防げる。


目次へ