本人項目中用的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>