Python Flask部署到服务器后外网无法访问,内网访问有效

问题分析

内网可以访问,外网无法访问的原因可能有以下  #可能有一些超出预知的错误,你们如果解决了请评论一下问题和解决方案,供他人参考

  1. 服务器商安全组未放通你所需的端口。
  2. 面板控制软件安全组未放通你所需的端口。
  3. Flask代码app.run参数配置错误

1.放通服务商安全组端口

这个很简单,百度搜索答案格式“你的服务商 怎么放通安全组端口”

2. 放通控制面板软件端口

例如宝塔,放通端口需要点击左侧目录中的"安全"进行配置。

3.代码错误导致外网不能访问

我遇到的就是这种情况,个人对Flask框架不熟悉造成的。我已经放通了服务商的安全组端口,还有控制面板的安全组端口,讲道理一般情况都是可以访问了的。

本地可以访问,外网不能访问。

看到这篇文章意识到可能是代码出现的问题:文章链接

这是我的代码

if __name__ == '__main__':
    app.run(debug=True,port=2333)

查阅Flask的第三方使用手册发现我的代码参数没写完整导致了这种情况。

链接地址:Flask 应用

app.run(host, port, debug, options)
序号参数与描述
1

host

要监听的主机名。 默认为127.0.0.1(localhost)。设置为“0.0.0.0”以使服务器在外部可用

2

port

默认值为5000

3

debug

默认为false。 如果设置为true,则提供调试信息

4

options

要转发到底层的Werkzeug服务器。

这里把我的代码改为
if __name__ == '__main__':
    app.run(host="0.0.0.0",debug=True,port=2333)

重新运行,外网即可访问。

总结一下为什么不添加host参数为空时外网无法访问,当host参数为空是默认host为127.0.0.1。经过测试,除了默认的127.0.0.1(localhost),host为腾讯服务器ip提供内网IP或外网IP外网也无法访问,当host为0.0.0.0时外网能访问。

如果有帮助到你了

就请点个赞哇~

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是将 Flask 应用程序部署到 Windows 系统的步骤: 1. 安装 Python:在 Windows 上部署 Flask 应用程序之前,需要先安装 Python。您可以从官方网站下载并安装最新版本的 Python。 2. 安装虚拟环境:虚拟环境允许您在单个系统上运行多个 Python 应用程序,而不会互相干扰。在命令提示符中输入以下命令以安装虚拟环境: ``` pip install virtualenv ``` 3. 创建虚拟环境:在命令提示符中,导航到您的项目目录并创建一个新的虚拟环境。例如: ``` cd C:\project virtualenv venv ``` 4. 激活虚拟环境:在命令提示符中输入以下命令以激活虚拟环境: ``` venv\Scripts\activate ``` 5. 安装 Flask:在虚拟环境中,使用以下命令来安装 Flask: ``` pip install flask ``` 6. 编写 Flask 应用程序:在您的项目目录中创建一个名为 app.py 的 Python 文件,并在其中编写 Flask 应用程序的代码。 7. 运行 Flask 应用程序:在命令提示符中输入以下命令以启动 Flask 应用程序: ``` set FLASK_APP=app.py flask run ``` 这将启动一个本地服务器并运行 Flask 应用程序。在浏览器中访问 http://localhost:5000/,您应该能够看到您的应用程序在运行。 8. 配置生产环境:如果您要在生产环境中部署 Flask 应用程序,则需要使用一个 Web 服务器,如 Apache 或 Nginx。您可以使用 WSGI(Web 服务器网关接口)协议将 Flask 应用程序与 Web 服务器集成。例如,您可以使用 mod_wsgi 模块将 Flask 应用程序与 Apache 集成。 以上是将 Flask 应用程序部署到 Windows 系统的基本步骤。希望能对您有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值