【问题标题】:Tomcat virtual host config not working for Struts actionsTomcat 虚拟主机配置不适用于 Struts 操作
【发布时间】:2010-12-01 16:40:03
【问题描述】:

最初我有一个名为“admin”的 webapp 运行良好,部署在 tomcat 6 的 $CATALINA_HOME/webapps/ 目录中。现在我尝试设置一个虚拟主机来运行这个 webapp。

Step1:我在 $CATALINA_HOME/conf/server.xml 中添加了以下内容

<Host name="mysubdomain.domain.com" appBase="keshav">

</Host>

第二步:我创建了一个文件夹 $CATALINA_HOME/keshav

Step3:创建ROOT上下文为$CATALINA_HOME/keshav/ROOT

第 4 步:将我的“管理员”webapp(位于 $CATALINA_HOME/webapps/ 中)移动到 $CATALINA_HOME/keshav

现在当我访问http://mysudomain.domain.com/admin/jsp/login.jsp 时,它可以很好地调出登录页面。但是当我尝试访问 http://mysubdomain.domain.com/admin/Login.do 或任何其他 struts 操作时,它会给我 404 错误-

“HTTP 状态 404 - Servlet 操作不可用”

在 catalina.out 文件中,我收到消息“INFO:Servlet 操作当前不可用”

谁能帮我弄清楚这个配置有什么问题?

更新:我还将连接器端口从 8080 更改为 80。由于打开 80 端口需要 root 权限,我正在使用 sudo 启动 tomcat(我使用的用户在 sudoers 列表中)。

每当我使用 sudo 运行 tomcat 时,都会发生 struts 操作的 404 错误。如果我将连接器端口从 80 更改为 8080 并在不使用 sudo 的情况下启动,则虚拟主机工作正常..

如果我 su 到 root 并启动 tomcat,它也可以正常工作。使用 sudo 似乎导致了这个问题..

【问题讨论】:

    标签: java tomcat struts http-status-code-404 virtual-hosts


    【解决方案1】:

    这是典型的 ActionServlet。它将所有异常映射到 UnavailableException,因此即使 servlet 已死,您也总是会收到“不可用”错误。日志中应该有其他信息可以向您显示确切的原因。

    当您在 sudo 中运行服务器时,环境会发生变化。也许 struts 配置依赖于一些环境变量或默认工作目录?

    试试“sudo -s catalina.sh”。它可能会有所帮助。

    【讨论】:

      【解决方案2】:
      1. 您是否为虚拟主机定义了上下文?查看 Tomcat 虚拟主机指南的Configuring Your Context 部分。
      2. 不需要 ROOT 上下文(除非您实际使用它)。
      3. 'action' servlet 是否映射到web.xml 中的'*.do' 模式?我想是的,因为您说它运行良好,但检查一下也无妨。

      【讨论】:

      • 感谢 chssply76 的回复。 1) 不,我认为我的“admin”webapp 不需要单独的 context.xml,$CATALINA_HOME/conf 中的默认值就足够了 2) 是的 ROOT 不是必需的,但我使用它来重定向到“admin” " webapp 3) 是的。请检查我的最新更新.. – Keshav
      • 所以 JSP 甚至可以使用 sudo 在端口 80 上工作,但操作不能?您确定工作的 JSP 实际上来自您的“虚拟”主机,而不是先前运行的人工制品(例如缓存编译的一个或来自非虚拟应用程序的一个)?运行 sudo 可能(并且通常会)改变你的环境,运行 'sudo -V' 来查看细节。也许类路径发生了一些奇怪的事情......尝试在端口保持在 8080 时通过 sudo 启动 Tomcat - 这应该有助于将其缩小到 sudo 与端口问题。一定要干净启动Tomcat(没有工作/tmp;webapp部署到一个地方)。
      猜你喜欢
      • 2013-01-30
      • 2014-06-15
      • 1970-01-01
      • 2017-07-23
      • 2015-10-13
      • 2016-07-23
      • 2014-09-08
      • 1970-01-01
      • 2021-08-20
      相关资源
      最近更新 更多