linux - Azure Centos Tomcat 部署

标签 linux azure azure-virtual-machine

我启动了 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:

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/

相关文章:

azure - 如何在 Windows Azure VM 中启用 GPU

c# - .NET Core - 目录权限 Linux

azure - 如何在 Microsoft Azure AD 中为用户配置电子邮件地址?

azure - 有没有一种(简单)方法将 AWS Redshift 连接到 Microsoft Azure ML?

python - Azure ML 错误 : NotImplementedError: Linux distribution debian 11. 没有自动支持

php - 使用任务计划程序运行 PHP 脚本时出现问题 (Windows Server 2008 R2)

linux - 多次调用时的 Asterisk 性能

linux - 为什么我所有的浏览器都显示禁止使用 phpmyadmin config.js 文件的错误?

c - 如何从C进入chroot环境?

azure - 使用非托管磁盘创建 Azure VM