一、问题描述
项目做安全扫描时,Tomcat报错页面泄漏Apache Tomcat/7.0.52相关版本号信息,安全策略要求去掉版本号信息。
二、解决方法
网上搜了下,大多都是简单粗暴的处理,直接去掉了tomcat的版本信息:
进入到tomcat/lib目录下,用电脑自带解压软件打开catalina.jar 进入到\org\apache\catalina\util目录下
编辑ServerInfo.properties文件,编辑最后三行,去掉版本号等信息
改完后自动跳出提示,点击“是”自动更新catalina.jar重新打包。
可是这样做有个问题,当服务器内部报错之后,浏览器上会出现错误信息;一般情况下,
服务器错误信息都是打印在日志中,方便开发人员定位处理问题;而在浏览器端,即客户
访问时,为了友好显示,一般我们都会设置错误页面。
设置错误页面有两种方式,一种是在项目内部处理,跳到对应的错误页面,返回对应的
错误信息。还有一种是通过nginx实现。今天记录nginx处理错误信息的方法。
思路:tomcat定义错误页面,服务器内部报错时,tomcat收集错误信息,然后通过nginx
跳到具体的错误页面(个人理解,欢迎大佬批评指正)
1.在tomcat/config/web.xml中定义错误返回页面。
<error-page>
<error-code>500</error-code>
<location>/500.html</location>
</error-page>
<error-page>