无法访问托管在 azure VM 上的 Flask 服务器

hsn*_*nsd 3 azure remote-server azure-virtual-machine

我的 azure vm 上托管了一个 Flask 服务器。

if __name__ == '__main__':
    app.run(debug=True, host="127.0.0.1", port=4400)
Run Code Online (Sandbox Code Playgroud)

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

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

在此处输入图片说明

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

我仍然无法通过 publicIP:4400 访问烧瓶服务器(publicIP 是我的 VM 的公共 IP,如azure 门户上所示)

可能是什么问题?

Cha*_* Xu 5

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

  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端口。

检查两个可能的原因。