在传统项目中的tomcat版本太老,诸多第三方安全公司检测都会检测出很多高危,中危的漏洞需要修补。
小版本号升级(7.0.53升级到7.0.106)只需要替换lib文件夹下的jar包即可,部分版本号升级可能需要替换tomcat的本地库bin/tcnative-1.dll文件。
如果是32位tomcat升级到64位的tomcat还需要替换bin文件夹下的tomcat7.exe和tomcat7w.exe(Windows系统下)。如果不替换在启动服务时会提示不是有效的32位程序。
注:AJP协议
Tomcat 6.*
Tomcat 7.* < 7.0.100
Tomcat 8.* < 8.5.51
Tomcat 9.* < 9.0.31
在conf/server.xml中的<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />中没有要求 secretRequired 的值 ,但是再这些版本之后tomcat 的 secretRequired 设置了默认值为true 此时如果不设置secret ,tomcat启动会报错。
解决办法:如果项目没有要求,可以把secretRequired的值设为false 即secretRequired="false"
如果secretRequired要求必须有,则需要设置secret的值,比如secret="123abc" 123abc类似密钥。