10

我的 tomcat 服务器上有一个 webapp,如下所示:

mydomain.com:8080/mywebapp

然后我连接到我的 webapp,它工作正常,但我想要看到我的 webapp 是这样的:

mydomain.com

所以我不想只在端口 80 上使用 tomcat,我不想通过它的名称访问我的 webapp,我想直接使用我的域 URI 连接。

我怎样才能做到这一点?我希望它适用于 Linux(Ubuntu 12.04 LTS)和 Windows 服务器。

4

3 回答 3

11

有几种方法可以实现这一点,但最常见的解决方法是在它前面运行 Apache 作为反向代理。你可以在这里找到一些细节。这将适用于 Linux 和 Windows。对于 Linux,您还可以使用authbindTomcat 绑定到端口 80。仅将端口更改为80in yourserver.xml将无法在 Linux 中运行,因为它需要您以 Tomcat 启动root,这不是一个好主意。

此外,要让您的 webapp 位于/,您可以将您的 war 文件部署为ROOT.war.

于 2013-05-01T21:30:44.690 回答
7

在特权端口(低于 1024 的端口)上运行任何应用程序都需要特殊权限。如果您这样做,您应该确保您的实例已正确加固

要配置 tomcat 侦听的端口,您必须修改 conf/server.xml 中的 HTTP 连接器(服务器参考文档):

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

要更改应用程序的上下文路径,您可以重命名 war 文件。要将其部署在根目录,请将您的 war 文件重命名为 ROOT.war。或者您可以添加一个 META-INF/context.xml,您可以在其中指定所需的上下文路径(上下文参考文档):

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/" />
于 2013-05-01T21:27:15.157 回答
1

您需要设置 apache webserver 并将其配置为使用 tomcat。

您需要使用mod_jk才能配置 apache webserver 与 tomcat 通信。

使用此链接设置mod_jk.

于 2013-05-01T21:25:46.257 回答