删除 tomcat 根目录

删除 tomcat 根目录

是否可以删除 Tomcat ROOT 目录?我们在 Tomcat 实例上运行了几个应用程序。我被要求清理 webapps 目录并删除所有未使用的文件夹。我删除了 manager、host-manager、docs 和 examples。

一切都很好,正如我所料。我查看了 ROOT 文件夹,里面有图像、几个 jsp 页面和一个 WEB-INF 目录。我们的应用程序都没有使用它们,所以我删除了 ROOT 目录。现在服务器在启动时挂起,我的应用程序无法启动。可以删除 ROOT 目录吗?根据 Apache 文档,它似乎是可选的:

“ROOT Web 应用程序的安全风险非常低,但它确实包含正在使用的 Tomcat 版本。通常应从可公开访问的 Tomcat 实例中删除 ROOT Web 应用程序,这并不是出于安全原因,而是为了向用户显示更合适的默认页面。”

我尝试只留下一个空的 ROOT 目录,但它仍然挂起。我是否遗漏了某个可能正在寻找 ROOT 目录的配置?

Tomcat 版本 8.5.15

答案1

许多 Tomcat 组件假设org.apache.catalina.Context每个请求都有一个。如果删除ROOT应用程序,则对于所有 URI 路径,情况将不成立,并且NullPointerException将紧随其后。这肯定会发生在 上RewriteValve,但可能适用于其他组件。

因此,最好有一个ROOT应用程序,但它也可以是一个空的目录。

Tomcat 组件的这种行为是否漏洞是否容易引起讨论。我个人认为,缺少ROOT背景信息是一种配置错误,但你可以提交错误报告如果你不这么认为的话。

相关内容