2017-04-06 156 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 

只要確保你有提到的模塊活躍,在你的配置上面的代碼。

讓我知道你是否想走這條路線,並有進一步的問題:)