1. 程式人生 > >解決外網無法訪問Linux主機上的tomcat問題

解決外網無法訪問Linux主機上的tomcat問題

過程:
在阿里雲上買了一個java web環境的映象伺服器,把自己的專案放到tomcat的目錄下後,在外部瀏覽器輸入http://MyIP:9000顯示無法訪問,其中埠號9000是我自己在/var/tomcat/default/conf/server.xml檔案中修改Connector節點中的port屬性得來。
這裡寫圖片描述
當我使用wget http://localhost:9000 命令時顯示
這裡寫圖片描述
能夠成功訪問。
使用netstat -apn命令檢視埠號使用情況,顯示這裡寫圖片描述
埠號已被啟用且是被tomcat佔用。

使用網上教程關閉防火牆以及為防火牆新增過濾規則都無法起作用。

於是將Connector節點中的address屬性改為0.0.0.0,即可從外網訪問。

總結

127.0.0.1 使用在開發環境, 0.0.0.0 使用在釋出環境.

原因分析:

每個主機都可能有多個ip地址, 比如多個網絡卡或多ip, 127.0.0.1 是本地環回地址, 專供自己訪問自己, 速度大( 不用經過整個協議棧 ), 所以用在開發環境合適.

正如主機可能有多個ip地址, 所以 0.0.0.0 是一個特指本機所有ip地址都繫結, 這樣, 適用於釋出環境, 否則你只能繫結在類似 106.88.0.22 之類的地址上, 你的釋出指令碼就不美觀了.

localhost 只是 127.0.0.1 的別名, 至於 ipv6 之類的在這裡毫無影響, 可以忽略.