1. 程式人生 > >IPV6開啟狀態下,tomcat監聽IPV4埠

IPV6開啟狀態下,tomcat監聽IPV4埠

  今天被人問了一個“奇怪”的問題,說本地服務開啟,自己能訪問,別人訪問不了,遇到這種問題,一般是防火牆規則導致的,所以我先建議關閉了防火牆,結果還是不能正常訪問,於是又想起了mysql在開啟IPV6的時候,如果想監聽IPV4埠需要在配置檔案中單獨配置,問題終於解決。

    第一,檢視本地的監聽【windows下】:

C:\Users\Long80A>netstat -an | findstr 80
  TCP    10.250.2.190:49328     202.39.170.15:8080     ESTABLISHED
  TCP    10.250.2.190:51572     202.226.89.167:80      CLOSE_WAIT
  TCP    10.250.2.190:54734     202.79.157.251:80      ESTABLISHED
  TCP    10.250.2.190:54881     202.176.31.204:80      CLOSE_WAIT
  TCP    10.250.2.190:55219     202.60.153.98:80       ESTABLISHED
  TCP    10.250.2.190:55803     202.28.226.40:80        CLOSE_WAIT
  TCP    10.250.2.190:55854     202.188.46.24:80       TIME_WAIT
  TCP    10.250.2.190:55855     202.188.46.24:80       TIME_WAIT

TCP    [::]:80                [::]:0                 LISTENING
TCP    [::]:8009              [::]:0                 LISTENING

監聽的TCP    [::]:80                [::]:0                 LISTENING顯示監聽了IPV6格式的埠。

【檢視本地是否開啟了IPV6,ipconfig /all,如果此命令中有本地連結 IPv6 地址. . . . . . . . : fe80::d423:34af:7a7c:c995%10,說明已經開啟了IPV6】

第二,修改tomcat的配置檔案:

找到:

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

修改為:

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

第三,重啟tomcat檢視監聽:

C:\Users\Long80A>netstat -an | findstr 80
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING

第四,新增一個允許訪問80埠的防火牆規則

開始-控制面板-防火牆-高階設定-入站規則-新建規則,選擇埠,TCP,80,然後一直下一步。

第五,從其他機器就能正常訪問了

curl -I http://10.250.2.190
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=ISO-8859-1
Transfer-Encoding: chunked
Date: Wed, 20 Nov 2013 02:48:33 GMT