【发布时间】: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