原理

内网穿透的本质是将外网IP地址与内网IP地址建立联系,一种内网发布公网,本地开放给异地的网络连接权限。ngrok作为一款非常流行的内网穿透工具,它可以在本地启动客户端,并配置好映射的端口,然后获得一个临时的域名,通过该域名即可访问内网应用。

1. 简单来说,ngrok 干了这么几件事:

  1. 创建隧道:它在你的本地计算机和 ngrok 的服务器之间创建一个安全的隧道。
  2. 映射地址:将你的本地地址(如 localhost:8080)映射到一个公网上可访问的地址(如 yoursubdomain.ngrok.io)。
  3. 外网访问:这样,即使手机和电脑不在同一个局域网,也可以通过 ngrok 提供的公网地址访问你的本地服务。

2. 举个例子:

假设你开发了一个网站,运行在本地的 http://localhost:8080,你的朋友想看看你的网站,但你们不在同一网络下。这时,你可以:

  1. 启动 ngrok 客户端,它会在你的电脑上创建一个到 ngrok 服务器的安全隧道。
  2. ngrok 会给你分配一个公网可访问的 URL(如 123.ngrok.io)。
  3. 你把这个 URL 发给你的朋友,他们就能在任何地方通过这个 URL 访问你的本地网站了。

3. 具体步骤:

1. 下载与安装 ngrok

  • 访问官网:前往 ngrok 官方网站
  • 下载客户端:根据你的操作系统(Windows、Mac 或 Linux),选择对应的下载链接。
  • 解压文件:下载完成后,解压到指定目录,例如 C:\ngrok(Windows 系统)或 /usr/local/bin(Linux 系统)。

2. 注册账号并获取 Auth Token

  • 注册账号:在 ngrok 官网点击 “Sign Up” 按钮,使用邮箱或 Google 账户注册。有 GitHub 账号可以直接登录。
  • 获取 Auth Token:登录后,在用户页面中找到 “Auth Token”,复制该令牌。

  • 配置 Auth Token:打开终端(Windows 系统为命令提示符),切换到 ngrok 解压后的目录,运行以下命令:
ngrok config add-authtoken <你的认证令牌>

此时,ngrok 会将 Auth Token 保存到本地配置文件中。

如何在当前目录下打开 cmd 命令呢?

  • 文件路径框中输入 cmd,回车
  • shift+右键

3. 启动内网穿透

  • 启动本地服务:确保你的本地服务正在运行,例如 Web 服务运行在 http://localhost:8080
  • 运行 ngrok 命令:在终端中运行以下命令,将本地服务暴露到公网:
ngrok http http://localhost:8080

4. 应用场景:配置小程序

背景:小程序与后台API通信时,通常不能直接访问后台接口,需要通过一些技术手段来实现。

将ngrok提供的临时域名配置到小程序的合法域名中,然后就可以在小程序中通过这个域名访问后台API。

注意事项

  • 安全问题:不要泄露 Auth Token,若泄露应及时清除和更换。
  • 关闭服务:用完后务必关闭 ngrok 服务,否则他人可能通过公网地址访问你的本地服务。如果你使用的是 ngrok 的免费版,隧道会在一段时间后自动关闭(例如 2 小时),但建议手动关闭以释放资源。
  • 流量限制:免费版的 ngrok 有流量限制,如果流量超出限制,可能会导致服务中断。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐