解决 python flask启动以及端口映射后,在公网中无法访问 的问题

之所以不能从公网访问,往往是因为ip的问题,以往你可能用的是局域网ip,当然不行,访问时使用公网ip。首先启动代码改为:

app.run(host='0.0.0.0',port=80)

host是ip地址,port是端口号,什么端口号都行,比如5000,建议用80,不过你会收到windows的警告,继续就行了。

运行后界面会打印出信息,当中有一段讲的是监视的ip,比如:

  • Running on all addresses (0.0.0.0)
  • Running on http://127.0.0.1:80
  • Running on http://111.48.201.254:80

最后一段就是你的公网地址

但是!它也有可能是这样:

  • Running on all addresses (0.0.0.0)
  • Running on http://127.0.0.1:80
  • Running on http://192.168.1.5:80

你会发现监视的ip是局域网ip,没有公网,怎么办?(可能是因为你没有公网ip)

终极解决办法:

app.run(host='::',port=80)

把0.0.0.0改为::,两者不同是0.0.0.0代表监视所有ipv4地址,::是监视所以有ipv6地址,ipv4有可能是局域网,有可能是公网,而ipv6一般都是公网!所以用ipv6准没错。(前提是你有ipv6,一般都有)

#ipv6是下一代ip

运行后显示的监视地址:

  • Running on all addresses (:😃
  • Running on http://[::1]:80
  • Running on http://[2409:8a7a:::::a0e9:60e6]:80

最后一段是你的公网ipv6地址,注意ipv6地址用[ ]括起来,其他和ipv4是一样的("*"号是我打的码!不是地址,因为我的lsj服务器就是这个地址,未经许可不能访问!)

如果不行,那你连ipv6都没有,买个路由器吧,路由器会为你分配一个ipv6地址

要让 Flask 应用可以通过公网访问,需要将应用部署到一个公网可访问的服务器上。以下是一些常见的部署方式: 1. 云服务器:可以使用云服务商(如阿里云、腾讯云、亚马逊 AWS 等)提供的虚拟机或容器服务来部署应用。需要注意配置安全组或防火墙规则,允许外部访问应用的端口。 2. 共享主机:可以使用共享主机提供商(如蓝海云、新网、万网等)提供的虚拟主机或云主机来部署应用。需要注意是否支持 Python 环境和 Flask 应用的部署。 3. 使用 ngrok:ngrok 是一个反向代理工具,可以将本地的 Flask 应用映射到公网上,方便测试和调试。但是 ngrok 不适合生产环境部署,因为它的带宽和连接数限制较大。 无论使用哪种方式部署 Flask 应用,都需要配置应用的监听地址和端口,以及允许访问的 IP 地址或域名。可以使用 Flask 的 run() 方法来指定监听地址和端口,例如: ``` app.run(host='0.0.0.0', port=5000) ``` 其中 host 参数可以指定监听的 IP 地址,'0.0.0.0' 表示监听所有可用的网络接口。port 参数可以指定监听的端口号,一般使用 80 端口或 443 端口(HTTPS)来提供 Web 服务。需要注意的是,使用低于 1024 的端口号需要管理员权限。 如果需要使用域名来访问应用,可以使用 DNS 服务将域名解析到服务器的 IP 地址上,然后在应用中配置 URL 规则来匹配域名。例如: ``` @app.route('/', subdomain='<subdomain>') def index(subdomain): # 处理子域名请求 ``` 在上述代码中,使用 subdomain 参数来匹配子域名,可以根据不同的子域名返回不同的页面或数据。这样就可以方便地实现多个子域名访问同一个 Flask 应用的功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别出BUG求求了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值