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时外网能访问。