我在远程服务器上安装了 tomcat 9,启动后运行良好,我可以访问 http://host_name:port_num并查看 tomcat 你好页面。但是当我尝试打开管理器应用程序以查看我部署的应用程序时,我得到 403 访问被拒绝,我已经在 tomcat 用户 xml 中添加角色如下:
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<user username="user" password="password" roles="admin,manager,manager-gui"/>
我看到的错误信息是:
默认情况下,主机管理器只能从与 Tomcat 运行在同一台机器上的浏览器访问。如果您希望修改此限制,则需要编辑主机管理器的 context.xml 文件。
我应该如何更改 context.xml 文件并访问管理器应用程序?
最佳答案
对于 Tomcat v8.5.4 及更高版本,文件 <tomcat>/webapps/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>
更改此文件以注释 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" />
-->
</Context>
之后,刷新浏览器(无需重启Tomcat),即可看到管理页面。
关于tomcat - 从不同主机访问 Tomcat Manager App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36703856/