我的Azure虚拟机上托管了一个Flask服务器。
if __name__ == '__main__':
app.run(debug=True, host="127.0.0.1", port=4400)
在vm上,我可以通过地址127.0.0.1:4400访问服务器 现在,我希望能够从vm(即我的本地计算机)外部访问此服务器。
我已经添加了以下入站安全规则:
我还在端口4400的VM防火墙上添加了相同的入站规则
仍然无法通过publicIP:4400访问flask服务器(publicIP是VM在Azure门户上显示的公共IP)
可能是什么问题?
答案 0 :(得分:1)
对于您的问题,可能有两个原因。
您必须收听IP 0.0.0.0,以便可以从Internet访问。 127.0.0.1只是本地主机中测试的回送IP。所以4c74356b41就是这样。
如果将IP更改为0.0.0.0时也无法从Internet访问该应用程序。那么这一定是规则问题。如果子网和NIC的NSG相同,则应检查VM网络。如果不是,请添加规则以在两个NSG中都允许端口4400。然后,您还应该检查公共IP是否直接与您的VM关联,或者它是否与负载均衡器关联,并且您的VM仅在负载均衡器的后端。如果它是负载均衡器,则仍需要添加负载均衡器规则以允许端口4400。
请检查一下两个可能的原因。