本人项目中用的springboot的有些功能在低版本的tomcat中不支持,因此将tomcat升级到了tomcat8.5, 升级就就意味着有采坑的风险(不是逼不得已,你们仍是用本身熟悉的稳定的技术和工具)。java
问题描述:jenkins中 maven编译成功,发布war到tomcat失败,提示403错误。提示这个错误有两个可能:一、tomcat manager-gui用户认证没有开启。二、访问者限制被开启(默认只能127开头的ip地址和0.0.0.0的ip能访问----本人踩的就是第二个)web
直接进入主题:jenkins编译后发布war包到tomcat必要条件spring
一、tomcat须要进行用户认证apache
二、对应用户须要manager-gui角色tomcat
三、若是tomcat版本是8.5,且异地发布(本机,发布到远程tomcat服务器),须要解除manager中的访问限制(8.0及一下版本,默认开放的)springboot
进入tomcat》webapp》manager》META-INF 找到context.xml ,注释或修改valve节点服务器
<Context antiResourceLocking="false" privileged="true" > <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />--> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context>