mod_proxy でリモートプロキシの向こうをリバースプロキシで見せる

Apache の mod_proxy でリバースプロキシを作る際、リモートプロキシの向こうにあるサーバをリバースプロキシ対象にしたいとき、ProxyRemote ディレクティブを使えばよろしい。

例えば以下の図のような環境で。

USER は Servre1 にしかたどり着けない。Server1 をリバースプロキシとし、Proxy1 を経由して Server2 の内容を USER に見せる。

以下のような内容を Server1 の httpd.conf に追記すれば良い。

 

RemoteProxy http://server2/ http://proxy1:8080/
ProxyPass /path2 http://server2/path2

 

もしリバースプロキシ先が https://~ の場合は、mod_ssl もあわせて LoadModule しておく必要がある。