特定のコンテンツが稼働するバックエンドサーバに対して直接アクセスできなかったり,させたくなかったりする場合に,フロントエンドサーバに対するリクエストを透過的にバックエンドサーバに移して,あたかもフロントエンドサーバからリクエストが返ってきているかのように見せる方法を考えていて,Apacheのリバースプロキシを使えばできそうだったので,実機確認してみた.今回確認したコンテンツはAIPOで,バックエンドサーバで稼働するAIPOにフロントエンドサーバ経由でアクセスさせるって話.ちなみにどちらのサーバもプラットフォームはWindowsで確認.
フロントエンドサーバ
- フロントエンドサーバ(Ex.HOST_FRONTEND)
- Apache 2.2.23
C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
# コメントアウトを外す
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
# リバースプロキシ設定
ProxyPass http://HOST_BACKEND/aipo/
ProxyPassReverse http://HOST_BACKEND/aipo/
バックエンドサーバ
- バックエンドサーバ(Ex.HOST_BACKEND)
- Apache 2.2.23
- AIPO 7.0.2
C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
# コメントアウトを外す
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
# AIPOのApache連携設定
ProxyPass ajp://localhost:8009/aipo
C:\aipo\dpl7020\tomcat\conf\server.xml
<!-- 初期設定のコメントアウトを外す -->
接続確認
"http://HOST_FRONTEND/aipo"にアクセスしてバックエンドサーバで稼動しているAIPOにアクセスできれば設定完了!