Redhat
Azure 上的 RHEL 7.5 和 Tomcat 8.5,不監聽公共地址
我創建了一個託管在 Azure 上的 RHEL 7.5,並在其中安裝了 Tomcat 8.5。我已將 Tomcat 配置
server.xml
如下:<Connector port="8080" protocol="HTTP/1.1" address="0.0.0.0" connectionTimeout="20000" redirectPort="8443" />
如果我在本地 CURL 頁面,它可以工作:
curl http://127.0.0.1:8080
我
inbound rule
在 Azure 中為任何 IP打開了一個8080
. 當我這樣做時,netstat -nap
我得到了這個,我認為這是 Tomcat 只在 IP6 上監聽(我省略了不感興趣的記錄):Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 352 10.0.0.4:22 85.195.192.179:58305 ESTABLISHED - tcp6 0 0 :::8080 :::* LISTEN -
我已將 Tomcat 配置為作為服務執行。在裡面
$CATALINA_HOME/bin/
我setenv.sh
使用這個設置創建了:JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true "
但是,或者它沒有選擇設置,或者我做錯了什麼。有什麼線索嗎?
您還需要確保在網路安全組 (NSG) 上打開埠 8080,或將虛擬機的 NSG 設置為無(不推薦)。NSG 文件在這裡:https ://docs.microsoft.com/en-us/azure/virtual-machines/windows/nsg-quickstart-portal