■ Tomcat の使用ポート
`用途 | `Default ON/OFF | Default Port No |
HTTP通信 | ON | 8080 |
HTTPS(SSL)通信 | OFF | 8443 |
Tomcat停止(Shutdown用) | ON | 8005 |
AJP | ON | 8009 |
■ server.xml
* 関連部分のみ抜粋<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> </Service> </Server>
■ Tomcat停止(Shutdown用)について
* TCP/IP経由でshutdownポートからこの文字列を受け取ると、Tomcatは停止
セキュリティ上の問題
* shutdownポートにデフォルトの場合はtelnetで接続して「SHUTDOWN」と 文字列を打ち込むことでTomcatを停止できてしまう
対策
http://www.atmarkit.co.jp/ait/articles/0801/28/news127_4.htmlが参考になる。遠隔でTomcatを停止する必要がない場合
=> shutdownポート自体を利用させなくするshutdownポートをふさぐ方法
http://tomcat.apache.org/tomcat-8.0-doc/config/server.html
より、抜粋。 The TCP/IP port number on which this server waits for a shutdown command. Set to -1 to disable the shutdown port. <<< ★注目★ Note: Disabling the shutdown port works well when Tomcat is started using Apache Commons Daemon (running as a service on Windows or with jsvc on un*xes). It cannot be used when running Tomcat with the standard shell scripts though, as it will prevent shutdown.bat|.sh and catalina.bat|.sh from stopping it gracefully. 結局、、、 * server.xml のshutdownポートを「-1」にする。 =>「<Server port="-1" shutdown="SHUTDOWN">」【注意】
* Eclipse-Tomcat上で自作モジュールを動かした場合、エラーで動かくなる。 詳細は下記の関連記事の 『「The server cannot be started because one or more of the ports are invalid」が表示される』 を参照のこと。http://blogs.yahoo.co.jp/dk521123/33614513.html
■ redirectPortについて
* デフォルトは、8443で、デフォルトのSSLポートと同じ * non-SSL通信時でもweb.xmlのアクセス制限(<security-constraint>)で、 SSL通信を要求する事があるが、この場合のポート番号を指定する
SSLポートとの関係
http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/ssl-howto.htmlより、抜粋。 ~~~ ここでポート番号を変更する場合、非SSLコネクタ上のredirectPort属性の設定値も 変更すべきです。 これによってTomcatは、 サーブレット2.4仕様で要求されているように、 SSLを要するセキュリティ制約の指定を含んだページへアクセスしようとする ユーザを自動的にリダイレクトできるようになります。 ~~~ # デフォルトは、SSLポートと同じなのか。。。 * よって、SSLポートを変更した場合、redirectPortも変更しといた方がいい