質問: Apacheに対してHTTPリクエストが来た時にURLによって別のサーバーのWebサイト呼び出しを行いたいのですが、どのように設定をすればよいのかが分かりません。 ProxyPassとかRewiteとかRedirectとかいろいろと方法が有るようなのですが、実装したい要望にふさわしい方法が分かりません。 やりたいのは、こういう感じです。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/ee7abb05a531e5636cacdfe690da3bc7.png) URLのパターンによって別のサーバーのサイトを呼び出したいのです。 この場合、外部からリクエストを送っている側には、転送先のアドレスが分からないようにしたいです。 abc.co.jp/web01/page1 に対するリクエストを処理しているのは実際には192.168.1.201/websystem01/page1だが、外から見たらabc.co.jp/web01/page1 が処理しているようにレスポンスを返したいです。 サンプルの中には、ポートが80ではないものに対する転送も含んでいます。 このようなケースに対応するのに適切な方法について教えていただけないでしょうか? よろしくお願いいします。
回答: `ProxyPass` + `ProxyPassReverse` でいいと思います。 ``` ProxyPass /web01/ http://192.168.1.201/websystem01/ ProxyPassReverse /web01/ http://192.168.1.201/websystem01/ ProxyPass /web02/ http://192.168.1.202/websystem02/ ProxyPassReverse /web02/ http://192.168.1.202/websystem02/ ProxyPass /web03/ http://192.168.1.203:8080/websystem03/ ProxyPassReverse /web03/ http://192.168.1.203:8080/websystem03/ ``` 条件付きなど、`ProxyPass` + `ProxyPassReverse` で対応できない場合は mod_rewrite で。