如何使VM服务器在外部运行的VM中运行?

时间:2015-10-14 17:47:20

标签: python azure flask

如果我在本地机器上运行我的烧瓶应用程序,我会通过连接到http://127.0.0.1:5000/report?id=1

获得正确的结果

但是现在我希望通过在天蓝色的VM中部署我的烧瓶使其外部可见。我在我的VM上打开了端口80。我正在使用这个运行烧瓶应用程序:

if __name__ == '__main__':
    app.run(host='0.0.0.0')

我仍然无法使用此连接到我的烧瓶服务器(假设我的VM的公共IP地址是x.x.x.x):

http://x.x.x.x:5000/report?id=1

有什么建议我应该怎么做呢?

编辑:我可以在端口80上使用虚拟机的公共IP地址。

2 个答案:

答案 0 :(得分:3)

问题与Flask无关,因为您打开了应用程序以侦听任何公共IP(0.0.0.0)。

此外,您应该在天蓝色配置中进行正确的端口映射。谷歌说,你可以看看这里:https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-set-up-endpoints/

修改

另一个想法,其中一些收藏经常遇到,是你可能有skype打开,有些使用端口80/443,因此阻止它。如果您这样做,请关闭Skype或为您的webapp使用不同的端口。

答案 1 :(得分:1)

所以,这是与Azure的交易: 如果从Azure门户打开端口,则VM STILL中的防火墙会阻止该端口。您必须手动进入并在VM中创建防火墙设置,以便为烧瓶服务器保持打开端口5000。完成后,您应该可以连接到它。