Tomcatのバージョン情報を隠す方法
レスポンスヘッダ:Apache HTTP Server)
httpd.confにServerTokens Prodを追加する
weblabo.oscasierra.net
レスポンスヘッダ:Tomcat
server.xmlのConnectorのserver情報を加工する(※1)
dev.classmethod.jp
エラーページ[※2]
server.xmlにErrorReportValveを追加する
なお、HostタグにもerrorReportValveClass定義が存在する(自身では試した事がない)
意外と知られていない、Tomcatのエラーページのバージョン番号の簡単な隠し方t246osslab.wordpress.com
Tomcatがバージョン情報参照している箇所や、それの修正方法についても言及してくれています。
※1 ConnectorがHTTPの場合は指定可能であるが、AJPの場合は指定不可能(=Tomcatの情報自体返却されない)
Apache Tomcat 9 Configuration Reference (9.0.87) - The HTTP Connector
Apache Tomcat 9 Configuration Reference (9.0.87) - The AJP Connector
※2 そもそもエラーページは別途作成しておいた方がとか
TomEEを利用する際の注意点
- どうもTomEEがserver.infoのバージョン情報まで確認しているっぽいので、server.infoは修正できなさそう
(挙動レベルできちんとした確認まではしていない)
- server.infoを少し加工して記載しても、TomEEのバージョン情報は出力されてしまう
バージョン情報をコンソールで取得する方法
(Apache HTTP Server)
httpd -V
(Tomcat)
${CATALINA_HOME}/bin/version.sh
(TomEE)
今のところtomeeのjarの命名規則にバージョン番号が付与されている
APサーバー情報をJava上で取得する方法
ServletContext#getServletInfoで取得可能
spring.pleiades.io