Ngrok 是什么?

最近在开发中使用到这个工具,顺便收集资料,记录一下。

Ngrok 是一个跨平台工具,用于将本地开发环境中的应用程序安全地暴露给互联网。它通过创建一个安全的隧道,使得外部用户可以访问你本地运行的服务,比如 Web 应用、API、Webhook 等。

先上架构图,由AI 生成

主要功能

  1. 暴露本地服务器
    Ngrok 可以将运行在本地机器上的 HTTP/HTTPS 服务映射到一个公开的 URL,使其可以通过互联网访问。

  2. 支持动态 URL
    每次启动 Ngrok 时,会生成一个临时的唯一 URL。

  3. 支持 HTTPS
    提供免费的 HTTPS 加密,使通信更加安全。

  4. 适用于 Webhook 测试
    用于调试需要公网访问的 Webhook,例如测试 LINE、Telegram 或 Stripe 等 Webhook 集成。

  5. 流量监控和日志
    Ngrok 提供仪表盘,实时查看通过隧道传输的请求数据,方便调试。

  6. 支持自定义域名和子域(付费版)
    可以绑定自定义域名,或者设置固定的子域。

Ngrok 的应用场景

  1. 测试 Webhook 服务

    • 本地开发的 Web 应用通常无法直接收到 Webhook 调用。Ngrok 可以解决这个问题,让外部服务通过公网访问本地服务。
  2. 共享本地项目

    • 快速分享一个本地运行的 Web 项目给团队或客户,而无需部署到服务器。
  3. 调试与开发

    • 通过 Ngrok 提供的日志功能,开发者可以实时查看传输数据,调试应用。
  4. 演示和快速验证

    • 快速将应用暴露给用户或同事进行演示,无需繁琐的部署。

如何使用 Ngrok?

1. 安装 Ngrok
  • 前往 Ngrok 官方网站 下载适合你操作系统的版本。
  • 下载后解压并将 ngrok 文件添加到环境变量,或者直接运行解压的文件。
2. 启动隧道
  • 运行一个本地服务,例如 Flask:

    fask run

  • 启动 Ngrok 将端口 5000 暴露到公网:

    ngrok http 5000

  • 运行后,Ngrok 会显示如下信息:

    Forwarding https://1234-5678.ngrok.io -> http://localhost:5000

    现在你可以通过 https://1234-5678.ngrok.io 访问本地应用。
3. 查看请求和响应
  • Ngrok 提供一个 Web 界面用于查看请求和响应日志: 打开 http://127.0.0.1:4040。
4. 登录账户(可选)
  • 创建 Ngrok 账户后,可以获取一个 authtoken,解锁更多功能:

    ngrok authtoken <YOUR_TOKEN>

Ngrok 的优势

  1. 快速部署
    无需复杂的服务器配置或 DNS 设置。

  2. 跨平台支持
    适用于 Linux、MacOS 和 Windows。

  3. 便捷的调试功能
    实时日志和仪表盘使调试变得更容易。

  4. 安全加密
    提供 HTTPS 支持,保证数据传输的安全性。

  5. 免费与扩展功能
    免费用户也可以使用基础功能,付费用户可以享受更多高级功能。

Ngrok 的局限性

  1. URL 不稳定(免费版)
    每次启动生成的 URL 是动态的,不适用于长期服务。

  2. 带宽限制
    免费版对流量和连接数量有限制。

  3. 安全隐患
    如果不加以限制,任何人都可以访问你的本地服务。

替代工具

如果你需要其他类似功能的工具,可以考虑:

  • LocalTunnel
    开源、简单,但功能较少。
  • Serveo
    一个无需安装的在线隧道服务。
  • Expose
    开源替代方案,专注于隐私和开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值