windows下使用ngrok让本地flask服务外网可访问

本文介绍了如何在本地运行的Flask应用中实现外网访问,通过将服务器监听地址设为0.0.0.0并结合ngrok内网穿透工具,即使在非公网IP环境下也能提供外网访问。ngrok需注册以获得更长时间的会话,同时提到如何配置固定域名。
摘要由CSDN通过智能技术生成

有些时候,想让本地运行的flask程序让其他人查看或使用,或者测试本地的服务,需要外网能够访问。

那么首先要明确什么是外网访问这个问题。
搜索查阅其他文章,大多都提及了“将Flask服务器监听的主机地址设置为0.0.0.0时,就可以让服务器外网可见。”在这里插入图片描述
但这句话只对了一半。

按此更改后,你的服务器还必须要运行在拥有公网IP的主机上,也就是你使用的电脑。

然而你连着公司的局域网不可能是公网ip,只是局域网内分配的一个ip,因此所谓的外网也只是你的电脑所在的局域网。

那么我们可以借助内网穿透/映射工具,例如ngrok,让外网上的朋友访问运行在你的笔记本上的程序。

  1. 安装ngrok
    地址:https://ngrok.com/download
    根据操作系统下载对应的压缩包
    在这里插入图片描述
    现在基本上都是64位的系统了吧

  2. 解压
    爱解哪解哪,打开里面是一个exe程序
    在这里插入图片描述

  3. 运行
    因为Flask程序已经运行在本地5000端口,只需要启动ngrok服务,输入对应的端口即可建立映射。
    双击运行ngrok.exe 输入ngrok http 5000,建立端口5000的隧道。
    你会看到以下地址
    Forwarding http://f001-111-164-239-71.ngrok-free.app -> localhost:5000
    Forwarding https://f001-111-164-239-71.ngrok-free.app -> localhost:5000
    f001-111-164-239-71.ngrok-free.app就是分配的外网地址
    本地运行flask服务后即可通过该地址访问
    在这里插入图片描述

与此同时,你还会看到以下两行
Session Status online
Session Expires 1 hours, 59 minutes

这是因为未注册账户每个会话只会维持2小时,过期后需要重新启动。

注册用户没有这个限制,注册相当简单,不再赘述。注册完成后需要执行下面的命令连接本地ngrok程序:

ngrok authtoken <令牌值(token)>

token在这里:
在这里插入图片描述

每次建立映射,ngrok都会分配一个随机子域的网址,如果你想拥有一个固定的域名,可以在这里配置:
在这里插入图片描述

至此,你就可以在自己的笔记本上启动你开发的flask服务,其他人可以通过外网访问了。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值