flask+云服务器 公网IP无法访问的问题

flask+云服务器 公网IP无法访问的问题

最近做一些工作涉及到了flask的使用,写了一个简单的程序后,自己的云服务器公网IP一直无法访问,解决这个问题费了我好长时间。

我自己用的是阿里云服务器,系统是centos

我在网上找到了几种说法:

有人说是端口的问题

网上最多的说法是自己访问的端口号没开,flask默认访问的是5000端口,之前我已经在安全组打开了5000端口,但测试的公网IP仍然无法访问

image-20200422234448652

host设定

flask官方文档给出了一个说明,自己的服务器只能使用自己的电脑访问,如果需要将服务器公开,需要设置host为0.0.0.0

image-20200422235031728

这一步我也试了,但是公网IP还是无法访问

防火墙

防火墙的问题我最早考虑到了,我也指定了5000端口可以通过防火墙。结果今天才发现自己的设置没有成功,5000端口没有被放行

后来我看到防火墙通过的端口有一个8888端口,这个端口是被我闲置的,就换上了它

image-20200423095157884

测试成功了

image-20200422235557768

附上有关防火墙的一些命令:

systemctl start firewalld.service(开启防火墙)
service firewalld restart(重启防火墙)
firewall-cmd --zone=public --add-port=4400-4600/udp --permanen(指定端口范围为4400-4600通过防火墙)
firewall-cmd --zone=public --list-ports(查看通过的端口)

测试使用的flask程序如下:

from flask import Flask

app = Flask(__name__)

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

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=8888)
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论