在 Linux 上为 Tomcat 7 添加 webapp“别名”

在 Linux 上为 Tomcat 7 添加 webapp“别名”

我有一个在 CentOS 上运行的 Tomcat 7。

给出的配置中,我的 webapp “foo” 放置在 webapps/foo.war 中。我可以使用以下方式毫无问题地访问它:http://主机名/foo

现在我想使用第二个 URL 访问同一个 Web 应用程序 -”http://主机名/bar“。

在我的 Tomcat 前面设置一个 web 服务器不是一个选择,所以我需要像 Tomcat 的 mod_rewrite 这样的东西。

到目前为止,我已经尝试过设置另一个这样的上下文:

<Context path="/bar" docBase="foo"/>

起初它似乎有效,但第二次看时它表明这实际上不是一个“别名” - 它是来自我的 webapp 的第二个实例,这对我来说确实不是一个有效的选项。

那么...有人知道如何获取 Tomcat 的某种别名或 URL 重写吗?

答案1

mod_rewrite对于 servlet 容器来说,有一个类似的东西叫做URL 重写。 取自所以

答案2

在您的特殊情况下,如何在您的 webapps 目录中设置符号链接?

假设你的目录如下所示:

ls webapps/
foo  foo.war

只需添加一个名为 bar 的符号链接至 foo:

ln -s foo bar

得到这个:

ls webapps/
foo  bar  foo.war

答案3

您可能能够找到(有一些存在)或编写一个小型 Java Web 应用程序,将代理从一个 URL 模式反转到另一个 URL 模式。请参阅https://github.com/ahabra/reverse-proxy

相关内容