我已经在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应用程序中。
答案 0 :(得分:1)
您需要监听内部IP(如果监听*,可能更好),而不是外部IP。 vm不知道外部IP。它将在其内部IP而非外部IP上获得请求。
您还需要在防火墙和Network Security Group上打开端口。
上的软件包管理