关于Flask项目无法使用公网IP访问的解决方式

yipeiwu_com6年前Python基础

最近在折腾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设计】。

相关文章

浅谈python多线程和队列管理shell程序

首先来描述下环境,在机器上有很多个JAVA程序,我们在每个JAVA程序里都配置了一个启动|停止|重启的脚本 举个例子: 我们现在要同时运行这些脚本,来达到快速启动所有的JAVA程序,如果...

使用Python进行中文繁简转换的实现代码

中文繁体、简体的差异,在NPL中类似英文中的大小写,但又比大小写更为复杂,比如同样为繁体字,大陆、香港和台湾又不一样。先前写过一篇中文繁简转换的文章,感觉写的不太详细,今天就针对Pyth...

pygame 精灵的行走及二段跳的实现方法(必看篇)

pygame 精灵的行走及二段跳的实现方法(必看篇)

不得不承认《Python游戏编程入门》这本书翻译、排版非常之烂,但是里面的demo还是很好的,之前做了些改编放到这里。 先是素材: 背景 精灵 所有素材均取自此书 接下来就是精灵类的...

Pytorch使用MNIST数据集实现基础GAN和DCGAN详解

Pytorch使用MNIST数据集实现基础GAN和DCGAN详解

原始生成对抗网络Generative Adversarial Networks GAN包含生成器Generator和判别器Discriminator,数据有真实数据groundtruth...

浅析python打包工具distutils、setuptools

浅析python打包工具distutils、setuptools

python中安装包的方式有很多种: 源码包:python setup.py install 在线安装:pip install 包名(linux) / easy_install...