Apache2とTomcatを連携させて
ポート番号を指定せずに画面表示出来るように設定します。
バーチャルホストの設定ファイルを変更します。
vi /etc/apache2/sites-available/default
<VirtualHost *:80> ~略~ <Directory /var/www/> ~略~ </Directory> # 上記のすぐ下に下記内容を追加。(Directoryではなく、Locationです) <Location /examples/servlets/> ProxyPass ajp://localhost:8009/examples/servlets/ allow from all </Location>
連携モジュールを有効化します。
a2enmod proxy_ajp
Considering dependency proxy for proxy_ajp: Enabling module proxy. Enabling module proxy_ajp. To activate the new configuration, you need to run: service apache2 restart
Apache2を再起動する。
service apache2 restart
Tomcatの設定から8080ポートの設定をコメントアウトし、
8009ポートの設定がコメントアウトされていないことを確認する。
vi /tomcat/apache-tomcat-7.0.55/conf/server.xml
# 下記内容を変更する。(コメントアウト) <Connector port="8080" protocol="HTTP/1.1" ~略~ ↓ <!-- <Connector port="8080" protocol="HTTP/1.1" ~略~ --> # 下記内容がコメントアウトされていないことを確認する。 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
下記URLにアクセスする。
http://z-area.net/examples/servlets/
Servletのサンプル画面が出てくれば成功。
http://z-area.net:8080/examples/servlets/
接続失敗すれば成功。
私の環境ではApahce2とTomcatともに再起動してもポート8080で表示できてしまったので、
サーバをrebootして、再度Apache2、Tomcatを起動したらポート8080で接続不可になっていました。
簡易ファイアウォールでポート8080を閉じる。
ufw delete allow 8080 Rule deleted ufw status
To | Action | From |
---|---|---|
20 | LIMIT | Anywhere |
21 | LIMIT | Anywhere |
22 | LIMIT | Anywhere |
80 | ALLOW | Anywhere |
443 | ALLOW | Anywhere |