端口80上的Tomcat Webapp

eLR*_*uLL 10 java tomcat tomcat6

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

mydomain.com:8080/mywebapp

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

mydomain.com

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

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

Nil*_*lsH 11

有几种方法可以实现这一点,但最常见的解决方法是在其前面运行Apache作为反向代理.你可以在这里找到一些细节.这适用于Linux和Windows.对于Linux,你也可以使用authbind,让Tomcat来绑定到端口80只是改变了港口80在你server.xml将无法在Linux下工作,因为它需要你启动Tomcat作为root,这不是一个很好的主意.

此外,要使用您的webapp /,您可以将war文件部署为ROOT.war.


ili*_*ans 6

在特权端口(低于1024的端口)上运行任何应用程序都需要特殊权限.如果执行此操作,则应确保实例已正确加固.

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

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

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

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/" />
Run Code Online (Sandbox Code Playgroud)