Azure VM上的Web服务器

时间:2018-11-10 09:50:39

标签: azure web nginx azure-virtual-machine

我已经安装了Windows 2012 R2 VM(免费),并启用了所有用于外部通信的端口(包括端口80)。

我登录到我的VM并安装了nginx Web服务器(我也尝试使用python开发服务器)。

我可以在VM上内部访问网站(使用127.0.0.1或服务器的内部地址10.1 ....),但是当尝试从外部访问网站时,可以使用外部IP地址(也是IP)我使用RDP登录到服务器所使用的地址)没有响应。

您能帮我了解我在做什么错吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

正如@evilSnobu从他的评论中指出的那样,简短的答案是允许Windows VM本身的Windows防火墙中的TCP端口80。

通常,我们可以登录该Windows VM并运行CMD命令netsh advfirewall set allprofiles state off来临时禁用Windows防火墙。然后,我们可以使用telnet工具检查是否可以连接TCP 80端口。

当我们遇到相同的问题时,Azure VM之外没有任何响应。我们可以尝试以下一项或多项:

  • 在子网级别或NIC级别也有一个NSG,它不允许数据通过。
  • VM本身有防火墙(Windows防火墙等)
  • 该端口上没有任何监听。在Windows CMD中使用netstat -ano时,它应该监听的是0.0.0.0而不是127.0.0.1。
  • 当您验证端口监听时,服务没有启动。
  • 本地计算机拒绝具有特定端口的出站流量。

希望这会有所帮助。