Tomcat 7.0.42 管理器行为怪异

Tomcat 7.0.42 管理器行为怪异

大家早上好!

今天我正在使用我全新安装的 tomcat,一切都运行得很顺利,只是在使用带有虚拟主机的管理器时出现了奇怪的反应。

当我尝试在我的 vhost A1 上部署 web 应用程序时,问题出现了。它可以正常工作,上传可以工作,但应用程序无法启动。

当我尝试在 vhost A2 上部署另一个 webapp 时,它根本不起作用,我甚至无法上传档案。

奇怪的是两个虚拟主机都使用相同的 manager.xml 配置文件,该文件托管在 ${Catalina.base}/conf/Catalina/[engine]/[hostname]/manager.XML 下

该文件正在调用我的主要管理器,并且该管理器运行正常。

当我说管理器在我的 vhosts 上奇怪地崩溃时,这是因为它返回一个 503 错误消息,要求我在 tomcat-users.xml 上设置 tomcat 用户角色和密码,但重点是此文件已在 tomcat 提供的默认文件上设置。

如果我将我的应用程序直接上传到主机 appbase / docbase 目录,它可以完美运行,因为 server.xml 配置文件上的 AutoDeploy 和 DeployOnStartup 指令。

所以如果你们有提示的话我就会接受;-)

答案1

因此,我自己解决了我的问题,然后我会解释它:

Tomcat 管理器和默认应用程序均受 CSRF 保护。由于我在反向代理后面使用 VHosts,该代理会中继客户端 IP/域信息,因此 tomcat 发现了一些对他来说太奇怪的内容,然后抛出了 403 响应。

解决方案:不要中继原始 IP/域。

相关内容