Apache2.4.6とTomcat8.0.32の連携設定

メモ:

ApacheをフロントエンドとしてTomcatと連携出来るよう設定を行います。

環境
設定する環境は、次の環境で確認しています。

  • CentOS7(64bit)
  • Apache 2.4.6
  • Tomcat 8.0.32

Apacheのインストールについては、「CentOS7へApache2.4.6をインストールする」にまとめてあります。 また、Tomcatのインストールについては、「CentOS7へTomcat8.0.32をインストールする」にまとめてあります。

Apache 2.4.6とTomcat 8.0.32の設定

Tomcatには、HTTPサーバーとしての機能も持っていますがHTTPリクエストはApacheが受けTomcatで処理された結果をApacheが返すように設定します。 ApacheとTomcatの間は、mod_proxy_ajpモジュールによって受け渡しが行われます。

Apache側の設定(00-proxy.conf)

/etc/httpd/conf.modules.d/の「00-proxy.conf」でajpが設定されているか確認します。 「00-proxy.conf」ファイルに次の2行があるか確認します。

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

/etc/httpd/conf.d/ディレクトリへサーブレットへのリクエストがあった場合の設定をproxy-ajp.confとして作成します。 例えば、「http://ドメイン名/docs/」へリクエストがあった場合、Tomcat側の「docs」が呼び出されるよう次のように設定します。

<Location /docs/>
ProxyPass ajp://127.0.0.1:8009/docs/
</Location>

Tomcat側の確認と設定

次にTomcat側の設定を行います。

/opt/apache-tomcat-8.0.32/conf/server.xmlに次の設定があるか確認します。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Tomcatのデフォルトポート(ポート番号8080)が有効になっているので、次の設定をコメントアウトします。

<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->

以上でTomcatの設定は完了です。

動作確認

Apacheを再起動し、任意のブラウザーでアドレスに「http://localhost/docs/」と入力します。 次の画面が表示されれば、Apacheの待ち受けポートであるポート番号80からTomcatへ連携出来ていることが確認できます。

動作確認

ここまでで、ApacheとTomcatの連携設定は完了です。