无法访问Azure虚拟机上托管的Flask服务器

时间:2019-05-28 13:40:29

标签: azure azure-virtual-machine remote-server

我的Azure虚拟机上托管了一个Flask服务器。

if __name__ == '__main__':
    app.run(debug=True, host="127.0.0.1", port=4400)

在vm上,我可以通过地址127.0.0.1:4400访问服务器 现在,我希望能够从vm(即我的本地计算机)外部访问此服务器。

我已经添加了以下入站安全规则:

enter image description here

我还在端口4400的VM防火墙上添加了相同的入站规则

仍然无法通过publicIP:4400访问flask服务器(publicIP是VM在Azure门户上显示的公共IP)

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

对于您的问题,可能有两个原因。

  1. 您必须收听IP 0.0.0.0,以便可以从Internet访问。 127.0.0.1只是本地主机中测试的回送IP。所以4c74356b41就是这样。

  2. 如果将IP更改为0.0.0.0时也无法从Internet访问该应用程序。那么这一定是规则问题。如果子网和NIC的NSG相同,则应检查VM网络。如果不是,请添加规则以在两个NSG中都允许端口4400。然后,您还应该检查公共IP是否直接与您的VM关联,或者它是否与负载均衡器关联,并且您的VM仅在负载均衡器的后端。如果它是负载均衡器,则仍需要添加负载均衡器规则以允许端口4400。

请检查一下两个可能的原因。