Azure 上的 RHEL 7.5 和 Tomcat 8.5 未监听公共地址

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 "

但或者它没有拾取设置或者我做错了什么。有什么线索吗?

答案1

您还需要确保网络安全组 (NSG) 上的端口 8080 已打开,或者将虚拟机的 NSG 设置为无(不推荐)。NSG 文档位于此处:https://docs.microsoft.com/en-us/azure/virtual-machines/windows/nsg-quickstart-portal

相关内容