別のサーバ、ポートをへ転送する(リバースプロキシ)¶
- 他のサーバのApache、バーチャルホスト、Tomcatなど、別のWebサーバに対して
本Apacheをゲートウェイとし、こちらで転送表示する方法。
- よくある例として標準の80ポートで動作しないWebサーバ(tomcatやrails)を
Apacheの80ポートで転送し、ユーザへの表示をApacheで一括管理したり、
前者では実装されていないベーシック認証機能を利用するケースがある。
- 例
- 要件
ポート表記を次のように表示したい場合に使われる。
(例では別サーバとしているが、ローカルホスト内の転送でも可能)■動作しているサービスのアドレス http://192.168.0.2:3000/dir
■ユーザにアクセスさせたいアドレス http://192.168.0.1/dir
- 実装
- 要件
- mod_proxy パッケージが導入されていること。
LoadModule proxy_module modules/mod_proxy.so
- 下記のコードを記入する。(正規表現で後ろのスラッシュ有無を補正している)
(例: /dir 以下を192.168.0.2の81ポートのWebサーバに接続する場合)RedirectMatch ^/dir$ http://192.168.0.1/dir/ ProxyPass /dir/ http://192.168.0.2:81/ ProxyPassReverse /dir/ http://192.168.0.2:81/
- Apacheをリスタートする。
# service httpd restart
¶
¶