1
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 3 years have passed since last update.

TomcatとApacheの連携

Last updated at Posted at 2021-07-31

別サーバに設置したTomcatとApacheを連携させる。
特定のディレクトリにアクセスされたら、Tomcatサーバに転送するという感じ。

#前提
Apache Server version: Apache/2.4.6 (CentOS)
Apache Tomcat Version 8.5.68
CentOS Linux release 7.5.1804 (Core):ApacheもTomcatも

#LoadModuleの設定
/etc/httpd/conf.modules.d : モジュール定義ファイル格納場所
上記ディレクトリ内00-proxy.confにて
デフォルトでいろんなファイルがあるが、それらの違いは何か。

/etc/httpd/conf.modules.d
-rw-r--r--. 1 root root 3739 Nov 16  2020 00-base.conf
-rw-r--r--. 1 root root  139 Nov 16  2020 00-dav.conf
-rw-r--r--. 1 root root   41 Nov 16  2020 00-lua.conf
-rw-r--r--. 1 root root  742 Nov 16  2020 00-mpm.conf
-rw-r--r--. 1 root root  957 Nov 16  2020 00-proxy.conf
-rw-r--r--. 1 root root   88 Nov 16  2020 00-systemd.conf
-rw-r--r--. 1 root root  451 Nov 16  2020 01-cgi.conf

答えはこちらを参考にした。

どうやら機能ごとに組み込むモジュールをそれぞれの設定ファイル(.confファイル)にて定義するために機能ごとの.confファイルがあるとのこと。ただ、どう使うかは割と使用者にゆだねられてるっぽい。
またbase.confとconf/http.confの意義が結構似通ってるらしく、以下のように混乱してる人もいるっぽい。

とりあえず今回はリバプロとしての機能を使うため00-proxy.confの設定を確認する。
以下mod_proxy.soとmod_proxy_ajp.soがproxy利用するときに必要のよう。
*デフォルトで設定されていた。

/etc/httpd/conf.modules.d/00-proxy.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

またこのconf.modules.dディレクトリ内のファイルがきちんと読み込まれる必要がある。
/etc/httpd/conf/httpd.conf内にてIncludeされてることを確認する。
*これもデフォルトで設定されている。

/etc/httpd/conf/httpd.conf
Include conf.modules.d/*.conf

#httpdの転送設定
ProxyPassディレクトリとProxyPassReverseディレクトリでの設定が必要。
httpd.confにて設定する。

/etc/httpd/httpd.conf
ProxyPass /tomcat9/ ajp://10.10.10.10:8009/
ProxyPassReverse /tomcat9/ ajp://10.10.10.10:8009/

上記だとhttp://<ApacheサーバのIP>/tomcat9/ だと10.10.10.10をもったTomcatサーバに8009ポートを使ってAJPプロトコルを用いてリクエストを転送することになる。

#Tomcatの待ち受け設定

またこのとき選択するポートはtomcatサーバにて定義する。

/conf/server.conf
    <Connector protocol="AJP/1.3"
               address="0.0.0.0"
               port="8009"
               redirectPort="8443"
                secretRequired="false" />

デフォルトだとコメントアウトされてる(

1
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
1
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?