解决 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地址

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 19:28:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 19:28:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 19:28:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 19:28:04       20 阅读

热门阅读

  1. day4 移出倒数第n个节点

    2023-12-09 19:28:04       40 阅读
  2. ArchLinux下载链接

    2023-12-09 19:28:04       44 阅读
  3. Python中一些有趣的例题

    2023-12-09 19:28:04       32 阅读
  4. SELinux refpolicy详解(13)

    2023-12-09 19:28:04       44 阅读
  5. 车载蓝牙音乐流程简单分析

    2023-12-09 19:28:04       39 阅读
  6. 装箱 Box 数据类型

    2023-12-09 19:28:04       37 阅读
  7. Linux 常用命令

    2023-12-09 19:28:04       41 阅读
  8. 从视频中截取指定帧图片

    2023-12-09 19:28:04       42 阅读
  9. Qt 编译fcitx-qt5 插件支持中文输入法

    2023-12-09 19:28:04       31 阅读
  10. 考研真题数据结构

    2023-12-09 19:28:04       32 阅读