- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
版本:Tomcat 8.5.8
問題:新安裝的tomcat,用其他機器訪問tomcat的Server Status、Manager App、Host Manager三個頁面均顯示403(本機訪問沒有問題),conf/tomcat-users.xml里已添加配置:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="qazwsx" roles="manager-gui,admin-gui"/>
重啟之后,還是403,甚至在嘗試使用多種解決方法的時候還出現過404(原因不明)
查找網上解決辦法無果,大部分網上的文章都只提到了在tomcat-users.xml里添加上面的語句,無法解決,通過查閱官方文檔,英文真的爛(用翻譯軟件,看得一知半解),終于找到真正原因所在。
打開webapps下的host-manager和manager,都有一個共同的文件夾META-INF,里面都有context.xml,這個文件的內容是:
<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" />
</Context>
通過查看官方文檔,知道,這段代碼的作用是限制來訪IP的,127.d+.d+.d+|::1|0:0:0:0:0:0:0:1,是正則表達式,表示IPv4和IPv6的本機環回地址,所以這也解釋了,為什么我們本機可以訪問管理界面,但是其他機器確?403。
找到原因了,那么修改一下這里的正則表達式即可,比如我們只允許內網網段192.168.88訪問管理頁面,那么改成這樣就可以:
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192.168.88.*" />
</Context>
修改完畢,關閉瀏覽器,重新打開tomcat,問題解決!
提交成功!非常感謝您的反饋,我們會繼續努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP