python Flask启动app.run(host=‘0.0.0.0‘,port=5000),外网不能访问

Posted liujingqiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Flask启动app.run(host=‘0.0.0.0‘,port=5000),外网不能访问相关的知识,希望对你有一定的参考价值。

最近在开展接口测试自动化过程中,部署代码到云服务公网环境时,发现外网不能访问,但是部署在本地local环境是没有任何问题的。

代码如下

#!/bin/sh 
from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "hello world 20210915!!"

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5051)     #将port 5051改为当前云公网服务器已经打开的可以访问的端口,比如端口8589 

然后将app.run()指定host参数,app.run(host=‘0.0.0.0’), 这样解决的一个问题,外网理论上是能够访问的, 然而并没有,还是访问不了,
这个时候,又想抓狂了, 然后又将5000端口改成8000,9000, 8080等等等, 反正就是不行, 本地浏览器访问服务器公网地址仍然无法访问。
最终,我在网上查了N种方法,反复测试, 终于找到问题所在, 原来云公网服务器(类似阿里云,腾讯云)安全组里需要添加访问的端口,比如5051 (或者将端口5051 改为在当前云公网服务器已经打开的可以访问的端口,比如端口8589) 而这个过程要在云公网服务器的网页上操作。


然后运行python 代码后,在浏览器端即可访问,如图所示:

参考
https://www.jianshu.com/p/98c01afe841e?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

以上是关于python Flask启动app.run(host=‘0.0.0.0‘,port=5000),外网不能访问的主要内容,如果未能解决你的问题,请参考以下文章

python Flask启动app.run(host=‘0.0.0.0‘,port=5000),外网不能访问

python flask怎么指定端口启动

python web开发-flask调试模式

Python库源码学习1:Flask之app.run

python-flask-源码流程

flask源代码笔记——应用启动