Tomcat日志中的403錯誤通常由權限或配置問題導致,可按以下步驟排查解決:
檢查文件/目錄權限
確保Tomcat用戶(如tomcat
)對Web應用目錄(如/webapps
)有讀取權限,使用命令:
sudo chown -R tomcat:tomcat /path/to/tomcat/webapps
sudo chmod -R 755 /path/to/tomcat/webapps
驗證Tomcat用戶配置
檢查conf/tomcat-users.xml
,確保配置了正確的用戶、角色及權限,例如:
<role rolename="manager-gui"/>
<user username="admin" password="password" roles="manager-gui"/>
重啟Tomcat后生效。
排查Web應用訪問控制
查看web.xml
中的<security-constraint>
配置,確認是否限制了訪問路徑或角色,例如:
<security-constraint>
<web-resource-collection>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
確保角色已正確映射到用戶。
檢查IP訪問限制
若配置了IP限制(如context.xml
中的RemoteAddrValve
),需確認允許的IP范圍是否正確,例如:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1|192\.168\.1\.\d+"/>
注釋或修改為允許訪問的IP段。
處理防火墻/SELinux
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
sudo setenforce 0 # 臨時禁用
其他配置問題
server.xml
中SSL配置(如keystoreFile
路徑、密碼)是否正確。提示:修改配置后需重啟Tomcat,若問題仍存在,可通過Tomcat日志(catalina.out
)獲取更詳細的錯誤信息,進一步定位問題。