0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ApacheとTomcatの連携

Posted at

はじめに

ApacheとTomcatの連携について、検証しました。

動作環境
・Apache 2.4
・Tomcat 9.0

連携の目的

  静的コンテンツはApacheで処理し、動的コンテンツはTomcatで処理すると性能が良い
 リクエストを httpd で処理し、Java で動的な処理が必要なページだけTomcat に実行させる。この時、Apache httpd はプロキシの役割となる。
 ApacheとTomcatを同一サーバにするか、別サーバにするかはシステム要件による。
 連携時はAJP (Apache JServ Protocol)を利用する。
 AJP プロトコルは Tomcat と通信するためのプロトコル。

・イメージ
 image.png

設定方法

設定概要
1. Apacheの設定。Tomcatにリレーする設定を行う
2. Tomcatの設定。Apacheから受け取る設定を行う

Apacheの設定

Httpd.confの修正をします。

1.以下2つのモジュールを有効にする

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

2.プロキシを追記します。
 設定する値
 ポート番号:ここでは8009ポート利用とする
 ディレクトリ:Tomcatのディレクトリを指定します。
 パスワード:ここではYOUR_PASSWORDとします。

 ※設定例

<Location /sample/>
    ProxyPass ajp://localhost:8009/sample/ secret=YOUR_PASSWORD
</Location>

Tomcatの設定

server.xmlの修正をします。

  1. 8080を停止する。利用しないなら、セキュリティ上停止したほうがよい
    設定例
<!--
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
-->
  1. 8009ポートを有効にする。

 ・adress:接続元サーバ。同一サーバなら「127.0.0.1」など
 ・port:待ち受けポート番号。Apacheと合わせる
 ・redirectPort:処理するポート番号
 ・secret:パスワード。Apacheと合わせる。

 ※パスワードを使用しない場合は「secret」を削除し「secretRequired="false"」にすると無効になります。

 設定例

<Connector protocol="AJP/1.3"
	       address="127.0.0.1"
           port="8009"
           redirectPort="8443"
           secret="YOUR_PASSWORD"/>

※以下はパスワードを使用しない場合。
secretRequiredをfalseにすると無効になります。
<Connector protocol="AJP/1.3"
address="127.0.0.1" 
port="8009"
redirectPort="8443"
secretRequired="false" /> 

###その他
 利用できるコネクタタグは多数あります。必要に応じ設定します。
 https://gakumon.tech/tomcat/server_xml/http.html

###参考サイト
https://qiita.com/polarbear08/items/f016a0675e6c9637e7b8
https://ashitaka.hateblo.jp/entry/2020/08/16/103012

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?