从外部访问托管在Azure VM(Windows OS)上的python应用程序

时间:2019-02-01 09:46:21

标签: python azure azure-virtual-machine

我已经在azure虚拟机(Windows OS)上托管了python flask Web应用程序。当我启动python应用程序时,它将托管在127.0.01:5000即本地主机上。我可以通过在URL中提供localhost:5000来在浏览器中访问它。我想从VM机器外部访问它。这里的问题是Azure VM具有内部IP和外部IP。

我尝试使用外部VM IP作为app.run()中的参数,但它引发错误,并且无法将其托管在外部IP上。

app.run(HOST = “external Azure VM  IP”)

尝试在外部IP上托管时,它抛出以下错误。

“错误:s.bind(get_sockaddr(主机名,端口,地址家族)) OSError:[WinError 10049]请求的地址在其上下文中无效”

有什么办法可以使它工作?

此外,我尝试将其托管在azure Web应用程序服务上,并且能够成功托管在其中,但无法将(beautifulsoup4)之类的外部库安装到Azure应用程序服务托管的flask应用程序中。

1 个答案:

答案 0 :(得分:1)

您需要监听内部IP(如果监听*,可能更好),而不是外部IP。 vm不知道外部IP。它将在其内部IP而非外部IP上获得请求。

您还需要在防火墙和Network Security Group上打开端口。

ps。 Azure App Services

上的软件包管理