
我安裝了 Tomcat,並且想透過網路存取它。我可以透過本地存取它localhost:8080/appname
,但不能透過網路存取 它http://externalip:8080/appname
。
我已將 D-LINK DIR-524 路由器配置為直通連接埠 8080,如下所示。我也關閉了 Windows 防火牆以及防毒軟體,但仍然存在相同的問題。
有任何想法嗎?
答案1
某些路由器將阻止環回連線作為一項安全功能。大多數消費級路由器沒有任何禁止它的規定,它只是不起作用。
它不起作用的原因是路由器實現了請求-應答演算法,因此沒有編程來處理答案實際上是另一個請求的情況。換句話說,路由器實現的是請求-應答的演算法,而不是請求-請求-應答-應答的演算法。
我建議從您的網路外部嘗試此操作,看看您是否得到相同的結果。
答案2
打開 tomcat/conf/server.xml 並蒐索您的連接器。應該是類似的東西
<Connector
port="8080"
protocol="HTTP/1.1"
address="127.0.0.1"
connectionTimeout="20000"
/>
嘗試將位址變更為您的外部 IP,然後重新啟動 Tomcat 服務。