Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法访问azure VM上托管的flask服务器_Azure_Azure Virtual Machine_Remote Server - Fatal编程技术网

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

无法访问azure VM上托管的flask服务器,azure,azure-virtual-machine,remote-server,Azure,Azure Virtual Machine,Remote Server,我有一个flask服务器托管在我的azure vm上 if __name__ == '__main__': app.run(debug=True, host="127.0.0.1", port=4400) 在虚拟机上,我可以通过地址127.0.0.1:4400访问服务器 现在,我希望能够从虚拟机外部(即本地计算机)访问此服务器 我已经添加了入站安全规则,如下所示: 我还在4400端口的VM防火墙上添加了相同的入站规则 我仍然无法通过publicIP:4400访问flask服务器(pu

我有一个flask服务器托管在我的azure vm上

if __name__ == '__main__':
    app.run(debug=True, host="127.0.0.1", port=4400)
在虚拟机上,我可以通过地址127.0.0.1:4400访问服务器 现在,我希望能够从虚拟机外部(即本地计算机)访问此服务器

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

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

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


可能是什么问题?

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

  • 您必须收听IP 0.0.0.0,以便可以从Internet访问。127.0.0.1只是本地主机中测试的环回IP。所以4c74356b41在这方面是正确的

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


  • 检查两个可能的原因

    您可能在子网级别\nic级别连接了nsg,请检查是否在应用程序中将主机更改为
    *
    run@4c74356b41将主机更改为*时应用程序崩溃,并出现以下错误:语法错误:无效语法没有子网级别,已选中该选项啊,可能是
    0.0.0
    不记得了,试试看,对你有用吗?谢谢。然而,在0.0.0.0上托管flask应用程序后,我无法在内部访问它,但它正在外部连接。我不知道这是否是正常行为。@hsnsd它也可以在本地访问,您可以使用URL localhost:4400访问它。