关于Flask项目无法使用公网IP访问的解决方式
最近在折腾Python Web,在测试的时候发现,本机可以正常访问,但外网无法通过公网IP访问页面。经过各种搜索,有大致三种解决方案。
一、修改/添加安全组端口
这是第一种方案,也是能解决大部分问题的一个方案。
由于我的服务器是阿里云的,所以在阿里云的ECS云服务器控制台中,管理安全组,添加5000和8000端口以便测试。

经过测试,外网依旧无法访问。失败……
二、配置/关闭防火墙
由于我的服务器是Windows Server 2016 操作系统,经过提醒,考虑是否是防火墙未允许端口通过。

如图,将防火墙全部关闭后,外网依旧无法访问,失败……
三、修改端口号测试
1.修改端口
因为默认80端口可以访问IIS默认页面,遂考虑是否因为端口号问题导致无法访问,在编译器中修改app.run中的port参数。

修改host='0.0.0.0',port=8000后保存运行,发现运行结果依旧是localhost:5000端口

端口没有修改成功……
2.各种鼓捣…
为了修改端口,经过长~~达~~半小时的捣鼓,终于在右上角项目名称的编辑配置(Edit-Configuration)中发现了问题,修改了Additional options(附加选项)的内容为
--host=0.0.0.0 --port=5000
然后删除app.run()括号内的参数重新保存运行,嘿,你猜怎么着

外网也可以成功访问页面了!!!
这个有点坑的问题大概是只存在于Windows系统下的PyCharm中的,其他系统修改app.run的参数即可成功。
以上这篇关于Flask项目无法使用公网IP访问的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
python中的print()函数end=' '的使用及说明
这篇文章主要介绍了python中的print()函数end=' '的使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-02-02
Python之数据序列化(json、pickle、shelve)详解
这篇文章主要介绍了Python之数据序列化(json、pickle、shelve)详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-08-08
Python如何按单元格读取复杂电子表格(Excel)的数据
这篇文章主要介绍了Python如何按单元格读取复杂电子表格(Excel)的数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
这篇文章主要介绍了xadmin使用formfield_for_dbfield函数过滤下拉表单实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-04-04


最新评论