tomcat 監聽指定ip


Tomcat是Apache基金下的一個很成功的產品,作為Java應用容器被廣泛的使用。當然它不像WebSphere、WebLogic那樣強大,甚至比起JBoss也有所不如,但Tomcat的量級很輕,使用很方便,深入初學者或輕量級應用的追捧。

本文講Tomcat綁定IP地址的問題。默認情況下,Tomcat會監聽8080端口,這個我們都知道。但它會監聽哪些IP呢?默認情況下,它會監聽所有的IP。

下面這一段是從Tomcat默認的server.xml中抽取的Connector這段,我們可以看到沒有關系監聽IP的相關設置。

<Connector port="8080" protocol="HTTP/1.1"
   connectionTimeout="20000"
   redirectPort="8443" />
               
運行/bin/startup.bat來啟動Tomcat后,我們使用Netstat命令來查看一下Tomcat綁定了哪些IP。

D:\splaybow.com\apache-tomcat-6.0.20\bin>startup.bat
Using CATALINA_BASE:   D:\splaybow.com\apache-tomcat-6.0.20
Using CATALINA_HOME:   D:\splaybow.com\apache-tomcat-6.0.20
Using CATALINA_TMPDIR: D:\splaybow.com\apache-tomcat-6.0.20\temp
Using JRE_HOME:        D:\splaybow.com\jdk1.6.0_16
D:\splaybow.com\apache-tomcat-6.0.20\bin>netstat -an | findstr "8080"
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING
  TCP    [::]:8080              [::]:0                 LISTENING

從上面netstat的結果可以看出,Tomcat監聽了IPv4的0.0.0.0的8080端口,也監聽了IPv6的[::]的8080端口。即可以總結為Tomcat監聽了所有的IP協議的所有IP地址的8080端口。

那么如果我們只想讓Tomcat監聽傳統意義上的本地127.0.0.1的IP地址,那么應該怎么設置呢?且看下面這段配置。

<Connector port="8080" address="127.0.0.1" protocol="HTTP/1.1"
   connectionTimeout="20000"
   redirectPort="8443" />

這段Tomcat監聽IP的配置中,可以與上面一段配置做一下比較,我們看到多了一句: address="127.0.0.1"。好,我們來看看運行后結果:

D:\splaybow.com\apache-tomcat-6.0.20\bin>startup.bat
Using CATALINA_BASE:   D:\splaybow.com\apache-tomcat-6.0.20
Using CATALINA_HOME:   D:\splaybow.com\apache-tomcat-6.0.20
Using CATALINA_TMPDIR: D:\splaybow.com\apache-tomcat-6.0.20\temp
Using JRE_HOME:        D:\splaybow.com\jdk1.6.0_16
D:\splaybow.com\apache-tomcat-6.0.20\bin>netstat -an | findstr "8080"
  TCP    127.0.0.1:8080         0.0.0.0:0              LISTENING

OK,Tomcat已經如我們所願,只監聽了IP地址127.0.0.1的8080端口了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM