2017-04-06 36 views
0

例如我的网址是“http://example.com:8080”,我必须消除8080,我已经在server.xml文件中尝试了下面的代码。在tomcat中消除ulr的端口号

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

将8080替换为80但不工作。

请帮助我在这个问题上

+0

什么都不起作用? tomcat没有启动,还是仍在监听端口8080?改变端口为“80”应该做你所要求的。也许另一个进程已经在端口80上侦听。在Windows上,您可以使用netstat -aon进行检查。在Linux上使用netstat -tupagn。 – nharrer

回答

0

你想http://example.com是你在浏览器中键入URL?然后,您需要另一个组件(如反向代理服务器上的另一个Web服务器),或者Tomcat必须在端口80上侦听。

另外,如果您重定向到另一个端口,则您的Web服务器必须侦听该特定端口,在你的情况8443,如果你想使用它。

我在这种情况下的建议是使用Apache的最小设置作为反向代理。除了标准模块,你必须启用mod_proxy,mod_proxy_http,如果你还需要SSL处理mod_ssl

然后,您的Apache监听端口80,并将所有请求都代理到Tomcat应监听的任何端口上的Tomcat后端。两者都可以在同一台服务器上运行,不需要额外的VM /硬件。

你甚至不需要在Apache虚拟主机一个,如果你只使用了代理功能:

Listen 80 

ProxyPreserveHost On 
ProxyPass/http://tomcat-url.com 
ProxyPassReverse/http://tomcat-url.com 

只要确保你有提到的模块活跃,在你的配置上面的代码。

让我知道你是否想走这条路线,并有进一步的问题:)