在tomcat5中發佈項目時,用IP地址+端口不能訪問項目,而用localhost加端口時能夠訪問成功

最近在開發項目中,遇到的一個問題是:web

在 tomcat中發佈一個web項目,可是發佈成功後,只能用http://localhost:8080/fm訪問項目,不能用tomcat

http://127.0.0.1:8080/fm訪問項目,也不能用本地的IP地址訪問(http://192.16/8.0.191:8080/fmserver

起初認爲是防火牆的緣由,可是防火牆是關閉的,應該沒有影響;xml

後來認爲是win7的緣由,那個遠程那有個不容許遠程訪問,可是更改了都沒有效果;開發

再後來認爲是想原來tomcat6的時候,沒有出現過此問題,因此如今以爲應該是tomcat5的問題。get

 

通過從網上查找,緣由應該是tomcat綁定IP地址的問題,能夠經過ping localhost查看IP是哪一種格式,現解決方案以下:cmd

(借鑑而得的解決方法)io

1. 使用cmd命令netstat -n, 查看tomcat地址綁定, 發現是綁定到::1, IPv6.class

2. 配置tomcat的server.xml, 更改connector配置, 端口不用改, 加上address="0.0.0.0", 使其綁定到IPv4, 以下配置

 <Connector port="8080" maxHttpHeaderSize="8192" address="0.0.0.0"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />

(借鑑的解決方案)
<1>使用cmd命令netstat -n, 查看tomcat地址綁定, 發現是綁定到::1, IPv6;
<2> 配置tomcat的server.xml, 更改connector配置, 端口不用改, 加上address="0.0.0.0", 使其綁定到IPv4
      <Connector port="8080" maxHttpHeaderSize="8192" address="0.0.0.0"
        maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
        enableLookups="false" redirectPort="8443" acceptCount="100"
        connectionTimeout="20000" disableUploadTimeout="true" />
<3>重啓tomcat, 再次使用netstat -n, 查看tomcat地址綁定, 已變爲IPv4.
此問題便可迎刃而解。
(貌似TOMCAT5.5存在此問題)
相關文章
相關標籤/搜索