由于tomcat版本经常会有漏洞,所以经常需要升级更新。
但是每次升级tomcat都需要把logs和webapps文件夹重新copy出来,造成了很多不必要的工作量
下面提供两种方式的升级,仅供参考、更新前最好做好备份,以防万一
小版本升级
如果类似于8.1到8.5的升级、那么只需要更换lib文件夹的内容即可
大版本升级
类似于7.1-8.5的升级、那么更换lib文件夹和bin文件夹下的内容即可
更换后重启tomcat
检查出漏洞后,可以查看对应漏洞的修复版本
Apache Tomcat® - Apache Tomcat 8 vulnerabilities
比如下面这个漏洞是在8.5.64版本修复的
选择下载最新8.X版本的tomcat
tomcat低版本升级到高版本时,按以上操作后启动报错:
SEVERE: Failed to start connector [Connector[AJP/1.3-8012]]org.apache.catalina.LifecycleException: service.getName(): "Catalina"; Protocol handler start failed at org.apache.catalina.connector.Connector.startInternal(Connector.java:1065) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:460) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:744) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:712) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)Caused by: java.lang.IllegalArgumentException: The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "". This combination is not valid. at org.apache.coyote.ajp.AbstractAjpProtocol.start(AbstractAjpProtocol.java:211) at org.apache.catalina.connector.Connector.startInternal(Connector.java:1058) ... 12 more
解决方法:
根据错误提示,需要添加 secretRequired 和 secret 属性,如果 设置 secretRequired="" 则可以不用添加 secret 属性,配置正确之后即可正常启动。
完善配置(编辑service.xml文件):
添加:secretRequired=""
修改后重启即可
tomcat 服务器版本号泄露的风险
tomcat404会提示版本号,需要修改tomcat/lib下的catalina.jar文件
linux中修改
-
进入tomcat的lib目录找到catalina.jar文件
-
unzip catalina.jar之后会多出两个文件夹(操作前备份catalina.jar文件)
3. 进入org/apache/catalina/util 编辑配置文件ServerInfo.properties
修改这两行:
4. 将修改后的信息压缩回jar包
进入catalina.jar文件的目录
/home/weblogic/apache-tomcat-8.5.85/lib
jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties
重启tomcat
不再显示版本号
tomcat的介绍文章:
二、tomcat介绍&日志&监控&配置_51CTO博客_Tomcat日志配置
Tomcat错误信息(服务器版本号)泄露(低危)_大白熊_BlankBear的博客-CSDN博客
来源地址:https://blog.csdn.net/wjzholmes/article/details/127735957