digdeep

凡是过去,皆是序幕。Read the fucking manual and source code.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

默认报错页面信息会暴露出版本号 

进入tomcat的lib目录找到catalina.jar文件 

unzip catalina.jar之后会多出两个文件夹 

进入org/apache/catalina/util 编辑配置文件ServerInfo.properties 

修改为

 server.info=Apache Tomcat

 server.number=0.0.0.0 

server.built=Nov 7 2021 20:05:27 UTC 

  将修改后的信息压缩回jar包

 cd /tomcat/lib

 jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties

  重启tomcat

  可以看到没有了版本信息。

 处理这样隐藏版本信息之外,在web.xml 中配置

  也可以,但是因为后端报错比较多,处理500 和 404之外,还需要配置其他报错代码,比如400等,比较麻烦。

其实更好的方法是,用nginx的来统一配置错误页面,这样报错时统一由nginx来处理,不会出现任何 tomcat的相关信息

发生错误时,统一显示下面的错误页面:

 

用户甚至不知道nginx后面的是 tomcat 呢,还是 php,还是啥。 完美!!!

需要注意的是 nginx 反向代理tomcat错误页面使用的是proxy_intercept_errors on;

而 nginx 自身的错误页面配置用的是 fastcgi_intercept_errors on; 


Nginx/Openresty隐藏版本号

nginx的http段添加 server_tokens           off;

posted on 2021-05-09 16:10  digdeep  阅读(1100)  评论(0编辑  收藏  举报
不懂数据库和Web安全的架构师不是一个好的程序员。