如果我在本地机器上运行我的烧瓶应用程序,我会通过连接到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地址。
答案 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。完成后,您应该可以连接到它。