gpt4 book ai didi

python - 使用 gunicorn 使 python Flask 应用程序可以从 Internet 访问

转载 作者:行者123 更新时间:2023-12-02 16:03:44 25 4
gpt4 key购买 nike

我有什么:
我使用 Flask 制作了一个简单的 Web 应用程序,它在本地主机上运行良好。

我想达到的目标:
我想部署它以便它在 Internet 上可见。


因为 Flask 说生产服务器不应该用于部署我安装了 gunicorn。
我设法让它在本地主机上运行(运行 gunicorn server:app)。

然后我尝试使用 -b 0.0.0.0:5000 选项将其公开。它说它在 192.168.....:5000 上运行但是,当我不使用此 wifi 时,我无法连接到该网站。

当我搜索这个时,我发现 192.168.... ip 地址范围是保留给本地网络的,不能从其他任何地方访问。

我需要如何运行脚本才能从任何地方访问它?我需要修改防火墙设置吗?也许有更好的方法使用不同的框架在本地机器上部署这样的应用程序?

只是一些额外的信息:

  • python版本:3.9
  • 我正在使用 venv(并在其中安装了 flask 和 gunicorn)
  • 操作系统:macos 11.6.1(如果更容易的话,我可以在 Ubuntu 机器上运行它)

最佳答案

这个问题与 Python 或 Gunicorn 无关,而是与网络相关(因此 StackOverflow 可能不是正确的提问地点,但其他社区如 ServerFault )

目前您的应用程序已经在您机器上的定义端口中公开,因此下一步是将所有到达您路由器的流量转发到那里。

为此,您必须配置路由器的防火墙以接受通过所需端口的传入流量,并最终将来自该端口的流量转发到端口 5000 中的计算机>.

此外,如果您已配置好所有内容,则只有在您的 ISP 为您提供单个 IPv4 时它才会起作用,目前不会再发生这种情况,但您实际上正在与更多的人共享它。其他选项是您配置 IPv6 传入流量。

如您所见,这不是一项简单的任务,如果没有适当的注意也不应该完成,因为您实际上是在向可能的攻击者开放您的网络。


因此,为了最大限度地简化它,因为您已经拥有 Gunicorn,我建议您使用其他用户公开的任何资源,如 HerokuNetlify对于单个应用程序是免费的,无需大量网络知识即可满足您的期望。

关于python - 使用 gunicorn 使 python Flask 应用程序可以从 Internet 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70008594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com