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

时间:2025-03-21 08:23:57

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

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

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

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

这是我的代码

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

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

链接地址:Flask 应用

(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__':
    (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时外网能访问。