Apache側の設定
ここからは Apache 側の設定です。 Apache2.2 系の場合は mod_proxy_ajp を利用しますので、まず mod_proxy と mod_proxy_ajp のモジュールを読み込むように変更します。
(Last modified: )
目次
Apache側の設定
「httpd.conf」ファイルで「mod_proxy_ajp」で検索して下さい。デフォルトでは99行目付近にあります。
#LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
どちらもコメントになっていると思いますので先頭の「#」を外します。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
これで「mod_proxy」と「mod_proxy_ajp」のモジュールが読み込まれるようになります。
次にサーブレットに対するリクエストがあった場合の設定を行います。今回「http://localhost/hello/」で始まるURLを使ってアクセスがあった場合にTomcat側のファイルを呼び出すようにします。そこでセクションコンテナとして「Location」を使って次のように記述します。
<Location /hello/> </Location>
※セクションコンテナについては『Locationディレクティブ/LocationMatchディレクティブ:設定が適用されるURLパスを指定する』を参照して下さい。
Tomcat側へアクセスを飛ばす設定をこの中に記述します。Tomcat側へはAJP/1.3プロトコルで8009番ポートを使って接続を行いますので次のように記述して下さい。
<Location /hello/> ProxyPass ajp://localhost:8009/hello/ </Location>
これを「httpd.conf」ファイル内に記述すれば完了ですが、Apache2.2系の記述方法に従って「httpd-proxy.conf」ファイルを別途作成し、上記をファイル内に記述します。そして「httpd.conf」ファイルには「Include」を使って「httpd-proxy.conf」を呼び出すようにします。
Include conf/extra/httpd-proxy.conf
では試してみます。「http://localhost/hello/helloworld」にブラウザからアクセスしてみます。
上記のように表示されればApache経由でTomcat側のサーブレットの呼び出しに成功しています。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。