這篇文章主要為大家展示了“Tomcat5.5如何監(jiān)聽IPV6和IPV4”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Tomcat5.5如何監(jiān)聽IPV6和IPV4”這篇文章吧。
成都創(chuàng)新互聯(lián)公司專注于銅川企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),商城網(wǎng)站建設。銅川網(wǎng)站建設公司,為銅川等地區(qū)提供建站服務。全流程按需求定制制作,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務
Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,***的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5支持***的Servlet 2.4 和JSP 2.0 規(guī)范。因為Tomcat 技術先進、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web 應用服務器。
1現(xiàn)象描述
當時的場景是在同一臺機器上搭建了兩個應用:應用1和應用2,使用相同的Tomcat5.5,只不過是啟動的端口不同(8080和8088),發(fā)現(xiàn)兩個應用監(jiān)聽的端口都在監(jiān)聽狀態(tài),但是通過telnet 127.0.0.1 port 都連接不上,很是奇怪。下圖中的“8080”端口是可以通過telnet連接的,但是“8088”端口通過telnet是連接不成功的,連接時會報“無法連接到目標端口的錯誤”。
通過netstat命令查看兩個端口的區(qū)別,發(fā)現(xiàn)8080端口是綁定到“0.0.0.0:8080”,而8088端口則沒有這樣的綁定,而是直接綁定到了IPV6的地址,這樣的話,無論你怎么訪問都是無濟于事,如下圖:
2解決辦法
找到tomcat5.5目錄下的conf\server.xml文件:
添加address="0.0.0.0",修改后內(nèi)容如下:
后來深入了解了一下,才知道產(chǎn)生此問題的根本原因是Tomcat5.5在啟動的時候,如果檢測到系統(tǒng)支持IPV6,默認監(jiān)聽的是IPV6的端口,導致通過IPV4無法訪問。修改配置文件添加address=“0.0.0.0”是為了確保tomcat5.5啟動時監(jiān)聽的是IPV4協(xié)議棧下的任何端口。
IPV4協(xié)議監(jiān)聽任何地址應配置:0.0.0.0
IPV6協(xié)議監(jiān)聽任何地址贏配置:0:0:0:0:0:0:0:0
PS:Tomcat6及之后的版本不會出現(xiàn)問題,默認監(jiān)聽的是IPV4的地址端口。
以上是“Tomcat5.5如何監(jiān)聽IPV6和IPV4”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!