Scribble at 2020-10-06 10:30:45 Last modified: unmodified
Windows のローカル・マシンにおいて、内部処理だけで reverse proxy を設定して運用するなら、Linux で運用するのと比べて、mod_proxy_http.so もロードしておく必要があるらしい。
念のため一般的な手順を覚書として残しておくと、reverse proxy のコンテンツをリクエストする traffic 側では(レスポンスする proxy 側は、リクエストしてくるサーバの IP アドレスで制限をかけるくらいしかやることはない)、まず proxy forward は使わないから ProxyRequests ディレクティブを Off にしておく。その他、ざっと基本的な設定だけに絞れば以下のようになるだろう。
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /test/ http://localhost/foo/
ProxyPassReverse /test/ http://localhost/foo/
いちばん間違えやすいのは、ProxyPass や ProxyPassReverse の書式だろう。ProxyPass は、リモートの URL をローカルのパスとしてマッピングする仕組みなのだが、両方がローカルの URL である場合は、書式として「ProxyPass local_path remote_absolute_URL」なのは変わらないのだが、実は挙動としては local_path をアドレス・バーに入力すると remote_absolute_URL にマッピングされたコンテンツが返されるという、リバース・プロキシで設定している挙動として期待されるものとは別の結果になる。上記の設定だと、アドレス・バーに "http://localhost/test/" と入力すると、http://localhost/ としてバーチャル・ホストに登録されているディレクトリの下にある(なければ 404 になる)"foo" というディレクトリが参照される。