Tomcat:如何禁用Tomcat主页

24

我将我的应用部署在Tomcat上,应用程序路径为:

http://localhost:8080/myapp

但我希望限制用户无法查看Tomcat首页,也就是说,如果他们输入:

http://localhost:8080 

首页不应该出现。我该怎么办?

8个回答

11

将 ROOT 应用程序重命名为其他文件夹名称(或者如果您不想使用 tomcat 管理应用程序,则可以将其删除)

将您想要查看的应用程序放置在 ROOT 文件夹下,即可通过 http://localhost:8080 查看。


1
谢谢。在“webapps”文件夹中将“ROOT”应用程序重命名为“ROOT-Closed”,并将“examples”重命名为“examples-closed”对我有用。您可以将其重命名为任何名称。 - Promise Preston

11

参考如何更改Tomcat默认主页

编辑:

链接已失效,你可以尝试以下方法:

最简单的方法是让Tomcat主页(TOMCAT_HOME/webapps/ROOT/index.jsp)执行重定向到您的起始页。

或者,如果您只有一个Web应用程序,可以将其移动到ROOT Web应用程序中。


4

我刚刚发现在应用程序正在运行时,您可以连接到管理员并停止欢迎页面。

输入图像描述

如果有人尝试再次访问欢迎页面(http://localhost:8080),它将不起作用:

输入图像描述

4

上传包含其他内容的ROOT.war文件,或者尝试从webapps目录下删除ROOT/文件夹。


4
我认为问题的作者特别询问如何禁用Tomcat主页,而不是重定向它。 我在IBM网站上找到了有用的提示。我尝试了一下,它对我起作用了。 以下是步骤:
1. 进入Apache Tomcat conf目录 2. 编辑web.xml文件内容。注释掉以下行:

    <!--
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    -->

IBM参考网页: 禁用Apache Tomcat默认主页...


2

显然有多种方法可以实现这一点。一个为我编译这些选项的非常好的参考资料是:

https://www.owasp.org/index.php/Securing_tomcat

这主要讲述了Tomcat 5.5。但我认为大部分内容不应该只在Tomcat 6或7版本中使用。


0

你可能认为只需要更改位于$CATALINA_HOME/webapps/ROOT/index.jsp的jsp页面就可以了。但我发现情况并非如此!页面内容是在ROOT Web应用程序servlet中编译的。为了让Tomcat引用jsp页面,我们需要防止编译此servlet。

找到位于$CATALINA_HOME/webapps/ROOT/WEB-INF/web.xml的ROOT Web应用程序配置文件,并简单地注释掉以下代码片段:

<!-- Comment this section so I can change the default index.jsp homepage
<servlet>
  <servlet-name>org.apache.jsp.index_jsp</servlet-name>
  <servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>org.apache.jsp.index_jsp</servlet-name>
  <url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
-->

这将禁用index_jsp Servlet。现在当您重新启动Tomcat Web应用程序服务器时,它应该编译并加载默认的$CATALINA_HOME/webapps/ROOT/index.jsp页面。


0

重命名根目录中的索引文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接