apacheでリバースプロキシを立てる
前提
クライアント → リバースプロキシ(今回設定する箇所) → 裏にあるサーバ
としたい。
設定
リバースプロキシとするサーバに、以下を入れて、systemctl restart httpd
する。
# tail -n 10 /etc/httpd/conf/httpd.conf LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so Listen 8888 <VirtualHost *:8888> ProxyPreserveHost On ProxyPass / http://back-server:8888/ ProxyPassReverse / http://back-server:8888/ </VirtualHost>
動作
リバースプロキシは、
- 8888でリクエストが来ると(典型的には、クライアントからhttp://[リバプロのホスト名]:8888/hoge/fuga でリクエストが送られてくると)
- 裏にあるサーバ(back-server)へ、http://back-server:8888/hoge/fuga でアクセスし、
- 結果をクライアントに返す。
ProxyPassの設定は・・・
ProxyPass /AAA BBB
と設定すると、http://[リバプロのホスト名]:8888/AAA
をBBB
と読み替える動きをする- 仮に
ProxyPass /hoge http://back-server:8888/
とした場合、http://back-server:8888/fuga
に読み替えて裏のサーバにアクセスする。
ProxyPassReverse の設定はProxyPassの設定と同じに