我启动了 Azure Centos 7 虚拟机。下载并安装了 tomcat apache server 7。当我运行 curl http://localhost:8080 时,它会显示 html 文件。
当我尝试从我的桌面以 http://ext_ipaddress:8080/访问它时,它失败了“无法访问此站点”
当我从我的桌面 telnet ext_ipaddress 8080 执行 telnet 时,它失败了
“无法在端口 8080 上打开与主机的连接:连接失败”
当我执行 telnet ext_ipaddress 80 时,它显示一个空白屏幕,我认为这是成功的。
当我 sudo netstat -lnp 时,防火墙未在 VM 上运行
tcp6 0 0:::8080:::* 收听 2459/java
我没有看到端口 80 在任何地方监听。
我附上了 NSG:
[更新]
我尝试只安装 Apache 网络服务器,并且能够使用 http://ext_ipaddress 从我的桌面访问 apache HTTP 服务器页面
最佳答案
一般情况下,这个问题可能是本地防火墙配置错误导致的。 (iptables)
要验证此问题是否由本地防火墙引起,请尝试在您尝试从客户端连接到 VM 时在 VM 上执行网络捕获。
如果捕获到来自客户端的数据包,则表示 Azure 没有阻止连接。然后你应该检查 VM 上是否有任何东西阻止连接。最常见的原因是 iptables。
请尝试运行以下命令打开TCP 8080端口。
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
然后要检查此更改是否生效,请运行以下命令:
iptables-保存 | grep 8080强>
关于linux - Azure Centos Tomcat 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39709204/