我从tomcat中删除了所有默认的webapps,包括manager,我将我的应用程序部署为提取的war文件到CATALINA/webapps/ROOT
文件夹,如果我请求我的网站名称为foo.bar
,那么一切都很完美,但是我尝试打开它作为其IP地址1.2.3.4
我得到一个404状态的空白页面
似乎tomcat寻找它的欢迎页面并且没有找到它并返回404页面。
现在我该如何解决这个问题?我想将托管1.2.3.4
的请求转发给我的foo.bar
答案 0 :(得分:0)
要部署应用程序以便获取http://192.168.0.1:8080/
之类的请求(即使用上下文'/'),您应该将展开的WAR目录部署为$CATALINA_BASE/webapps/ROOT
,或者将WAR文件部署为{{1} }}。 (注意,还有其他选择,但这是最简单的方法)。
$CATALINA_BASE/webapps/ROOT.war
和ROOT
是特殊名称,它们将指示Tomcat使用上下文路径“/”部署它。更多关于here。
如果它不起作用并且你得到404,那么任何数量的东西都可能出错。在下面列出一些常见的。
1。)你的应用程序没有干净地部署(即它无法启动)。检查日志以确保它部署得很干净。
2。)您的应用程序未正确设置欢迎文件。检查你的web.xml。
3.。)您的应用未收到请求。如果服务器前面有反向代理,请检查它是否正确地将请求发送到Tomcat。您可以使用访问日志来确认Tomcat是否收到请求。
4.。)你有一些糟糕的Tomcat配置。对于可能覆盖上下文路径的标记,请检查ROOT.war
,$CATALINA_BASE/conf/context.xml
,$CATALINA_BASE/conf/server.xml
和$CATALINA_BASE/conf/Catalina/localhost/*.xml
。
5.)你有一个不同的META-INF/context.xml
。 Tomcat查找要部署在appBase
文件夹中的Web应用程序,该文件夹是server.xml中标记的属性。它默认为appBase
。确保没有更改,否则它将不会部署您的应用。
6。)确保将标记配置为部署应用程序。请参阅$CATALINA_BASE/webapps
和autoDeploy
。有关here的更多信息。