当前位置:首页 > 运维技术 > 正文

如何绑定ngrok顶级域名?免费内网穿透配置教程,三步搞定!

是的,ngrok 提供顶级域名服务,但理解其工作方式很重要:

  1. ngrok 的核心功能: ngrok 的核心价值在于它提供了一个临时的、可公开访问的域名(https://random-string.ngrok-free.app),将互联网流量安全地隧道传输到你本地开发机器上运行的 Web 服务(如 localhost:3000),这是它最常用和最方便的模式。
  2. 顶级域名:
    • ngrok 本身不售卖像 .com, .net, .io 这样的通用顶级域名
    • ngrok 拥有并使用自己的顶级域名:主要是 .ngrok-free.app (用于免费计划) 和 .ngrok.io (历史遗留,现在主要用于付费计划或特定场景),当你启动一个免费的 ngrok 隧道时,它会自动分配一个 *.ngrok-free.app 的子域名给你。
    • 你可以将自己的顶级域名绑定到 ngrok! 这是 ngrok 提供的一项关键付费功能(通常在 Pro 或更高版本中)。

如何将自己的顶级域名用于 ngrok:

  1. 拥有一个域名: 你需要在域名注册商(如 GoDaddy, Namecheap, Google Domains, Cloudflare 等)注册并拥有一个域名(yourdomain.com)。
  2. 拥有 ngrok 付费账户: 你需要订阅 ngrok 的 Pro、Business 或 Enterprise 计划,免费计划不支持自定义域名。
  3. 配置 DNS (CNAME 记录):
    • 登录你的域名注册商或 DNS 托管服务(如 Cloudflare)的管理面板。
    • 为你想要用于 ngrok 的子域名(dev.yourdomain.com 或 tunnel.yourdomain.com)创建一个 CNAME 记录
    • 将该 CNAME 记录指向 ngrok 提供的目标地址,ngrok 仪表板或文档中会明确告诉你当前应该指向哪里(xxxx.ngrok.io 或特定的边缘地址如 us-east-1.edge.ngrok.io)。这个目标地址是由 ngrok 指定的,非常重要。
  4. 在 ngrok 中配置:
    • 登录 ngrok 仪表板。
    • 导航到 Cloud Edge -> Domains
    • 点击 Add a Domain
    • 输入你配置了 CNAME 记录的那个完整子域名(dev.yourdomain.com)。
    • 保存配置,ngrok 会验证你的 DNS 记录是否正确设置。
  5. 启动隧道时使用自定义域名:
    • 在启动 ngrok 隧道的命令中,使用 --domain 参数指定你的自定义域名: ngrok http --domain=dev.yourdomain.com 80
    • 或者,在配置文件中指定 domain 选项。

关键点小编总结:

如何绑定ngrok顶级域名?免费内网穿透配置教程,三步搞定! 第1张

  • ngrok 分配域名: ngrok 默认使用其拥有的顶级域名(.ngrok-free.app, .ngrok.io)为你生成随机子域名。
  • 绑定你自己的域名: 这是 ngrok 的付费功能(Pro+)。
  • 顶级域名是你的: 你需要自己购买和管理像 yourdomain.com 这样的顶级域名。
  • 实际绑定的是子域名: 你通常是配置一个子域名(如 dev.yourdomain.com)通过 CNAME 记录指向 ngrok 的基础设施。
  • DNS 配置是核心: 正确设置 CNAME 记录指向 ngrok 指定的目标地址是成功的关键。
  • ngrok 仪表盘配置: 需要在 ngrok 账户中声明你要使用的自定义域名(子域名)。
  • 启动命令指定域名: 使用 --domain 参数告诉 ngrok 使用你配置好的自定义域名启动隧道。

为什么使用自定义顶级域名?

  • 专业性: 使用 dev.yourcompany.com 比 random-string.ngrok-free.app 看起来更专业可靠,特别是给客户或测试用户展示时。
  • 品牌一致性: 保持你的品牌形象。
  • 易记性: 自定义域名更容易记忆和分享。
  • 长期性: 免费分配的随机域名可能会变,自定义域名是固定的(只要你续费域名和 ngrok 订阅)。
  • SSL/TLS 证书: ngrok 会自动为你的自定义域名申请并管理有效的 HTTPS 证书(由 Let’s Encrypt 提供)。

ngrok 本身不卖通用顶级域名,但它允许你将自己购买的顶级域名下的子域名绑定到它的服务上,这是一个非常有价值的付费功能,配置的核心在于 DNS 的 CNAME 记录设置和在 ngrok 仪表板中的声明。

如何绑定ngrok顶级域名?免费内网穿透配置教程,三步搞定! 第2张

如何绑定ngrok顶级域名?免费内网穿透配置教程,三步搞定! 第3张

0