CONTACT
お問い合わせ

ApacheへのHTTPリクエストをTomcatに転送する

Apacheに80ポートできたHTTPリクエストを、Tomcatの8080ポートへ転送する。

目次

1.概要
2.構成図
3.前提
4.Apache設定
5.Tomcat設定
6.設定確認

1.概要

WEBアプリケーション動作環境としてApacheとTomcatを連携させるため、
任意のパスのApache80ポートへのリクエストを、Tomcat8080ポートへ転送する。

2.構成図

構成図は以下の通り。

OS CentOS 7
Apache 2.4.46
Tomcat 9.0.44

3.前提

・Apacheがインストールされていること
・Tomcatがインストールされていること

4.Apache設定

Apache設定ファイル「httpd.conf」を編集する。

編集対象ファイル {Apacheインストールディレクトリ}/conf/httpd.conf

下記proxyモジュール記載行の「#」を消してコメント解除する。

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

下記転送設定を追記する。

ProxyPass /{転送元のApacheパス} ajp://localhost:8080/{転送先のTomcatパス}
ProxyPassReverse /{転送元のApacheパス} ajp://localhost:8080/{転送先のTomcatパス}

例)
「http://{ドメイン}/application」を「http://{ドメイン}/application:8080」に転送する場合

~略~
LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
#LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
#LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
~略~
ProxyPass /application/ ajp://localhost:8080/application/
ProxyPassReverse /application/ ajp://localhost:8080/application/

5.Tomcat設定

Tomcat設定ファイル「server.xml」を編集する。

編集対象ファイル {Tomcatインストールディレクトリ}/conf/server.xml

Connectorタグの「port=”8080″ protocol=”HTTP/1.1″」と記載している箇所をコメントアウトし、「port=”8080″ protocol=”AJP/1.3″」と設定する。

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

6.設定確認

「4.Apache設定」で設定した転送元ポートへリクエストを送り、accessログか画面からリクエストが転送されたことを確認する。