Apachのmod_proxyを利用して別ホストのリクエスト/レスポンスを転送する
参考になるサイトがあったのでメモしておきます。
<VirtualHost *:*> ProxyPreserveHost On ProxyPass / http://192.168.111.2 ProxyPassReverse / http://192.168.111.2/ ServerName hostname.example.com </VirtualHost>
VirtualHostとmod_proxyの基本的な組み合わせですね。
# Configuration to forward requests for startup.tld <VirtualHost 9.20.1.1:80> ServerName www.startup.tld ServerAlias startup.tld ProxyPass / http://127.0.0.2:10000/ ProxyPassReverse / http://127.0.0.2:10000/ ProxyPassReverse / http://www.startup.tld:10000/ ProxyPassReverse / http://startup.tld:10000/ </VirtualHost> # Configuration to forward requests for reckless.tld <VirtualHost 9.20.1.1:80> ServerName www.reckless.tld ServerAlias reckless.tld ProxyPass / http://127.0.0.2:10001/ ProxyPassReverse / http://127.0.0.2:10001/ ProxyPassReverse / http://www.reckless.tld:10001/ ProxyPassReverse / http://reckless.tld:10001/ </VirtualHost>
複数の内部サイトに対して転送を行う場合の方法。
とりあえず私がやりたかったこと。
転送先が1つのホスト、かつ複数のポートで構成されている場合の転送例です。
NameVirtualHost *:80 UseCanonicalName Off ProxyVia On ProxyRequests Off <VirtualHost *:80> ServerName star.hoge.com ProxyPass / http://192.168.11.1/ ProxyPassReverse / http://192.168.11.1/ </VirtualHost> <VirtualHost *:8001> ServerName star.hoge.com ProxyPass / http://192.168.11.1:8001/ ProxyPassReverse / http://192.168.11.1:8001/ </VirtualHost>