由于tomcat版本经常会有漏洞,所以经常需要升级更新。
但是每次升级tomcat都需要把logs和webapps文件夹重新copy出来,造成了很多不必要的工作量
下面提供两种方式的升级,仅供参考、更新前最好做好备份,以防万一
1、小版本升级
如果类似于8.1到8.5的升级、那么只需要更换lib文件夹的内容即可
2、大版本升级
类似于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的介绍文章:
二、tomcat介绍&日志&监控&配置_51CTO博客_Tomcat日志配置
版权归原作者 大宇进阶之路 所有, 如有侵权,请联系我们删除。