所有文章
localhost tunnelingtunnellocal developmentHTTPS

什么是 localhost 内网穿透?开发者指南

如果你开发 API、SaaS 产品或基于 webhook 的应用,迟早需要让互联网访问你的本地开发服务器localhost 内网穿透通过给你一个将流量转发到 127.0.0.1安全公共 HTTPS 网址来解决这个问题,无需部署到预发布环境。

什么是 localhost 内网穿透?

localhost 内网穿透(也称localhost 隧道)将你的机器连接到云网关。外部服务、浏览器和移动设备访问一个公共端点;网关通过加密通道将每个请求转发到你的本地应用。

实际上,隧道把这个无法访问的地址:

http://localhost:3000

变成一个可分享的端点,例如:

https://your-app.portpreview.dev

这一个改变就能让你在现有的开发环境中进行 webhook 测试、客户预览和跨设备 QA。

localhost 隧道如何工作

大多数现代隧道工具使用出站 WebSocket 连接,而不是开放入站防火墙端口。流程如下:

  1. 你在本地启动应用(例如在端口 3000)。
  2. 隧道 CLI 从你的机器连接到云网关。
  3. 网关分配一个映射到该会话的公共 HTTPS 网址。
  4. 传入请求实时转发到你的本地进程。

由于连接是从本地发起的,你就避免了反向代理配置、DNS 记录、TLS 证书管理和路由器设置。对于快速交付的团队,这消除了日常开发中的一大摩擦点。

开发者为何使用 localhost 内网穿透

webhook 与回调测试

支付服务商、源代码管理平台和消息 API 会向配置的网址发送 HTTP 回调。它们无法直接调用私有的 localhost 地址。隧道给服务商一个可访问的端点,同时你在自己的机器上检查载荷。参见我们关于如何在本地调试 webhookStripe webhook 测试GitHub webhook 测试Twilio webhook 测试的指南。

无需预发布即可分享进行中的工作

设计评审、产品演示和干系人反馈往往发生在分支可部署之前。一个公共隧道网址让你在几秒内分享本地改动的实时预览。

移动端与跨设备测试

手机和平板无法访问你笔记本的 localhost 命名空间。内网穿透让你在真实设备上打开同一个本地构建,验证响应式 UI、认证流程和性能。

第三方集成开发

OAuth 重定向、签名的 webhook 投递和合作伙伴 API 回调,在集成工作期间都需要可从互联网访问的端点。localhost 内网穿透把这一流程保留在你的机器上。

localhost 内网穿透与替代方案

团队通常比较三种选项:

  • 预发布部署:真实,但反馈循环慢、共享测试环境嘈杂。
  • 手动端口转发:可行,但脆弱,且常被 ISP 或企业网络阻断。
  • localhost 内网穿透:快速迭代、默认 HTTPS,以及专门打造的请求可见性。

如果你在评估工具,请阅读我们的PortPreview 对比 ngrokPortPreview 对比 localtunnel对比,逐项了解现代隧道工作流。

开始使用 PortPreview

PortPreview 专为重度依赖 webhook 的开发流程而打造。用一条命令启动隧道:

npx portpreview 3000

你无需更改应用代码即可获得公共 HTTPS 网址、实时请求日志和重放工具。开源 CLI 只转发你选择的端口,因此你的本地环境保持可预测、可审计。

准备好试试了吗?加入 PortPreview 等候名单,或在 GitHub 上探索开源 CLI

常见问题

什么是 localhost 内网穿透?
localhost 内网穿透创建一个安全的公共网址,将传入的 HTTPS 流量转发到运行在你机器上的服务,例如端口 3000 上的本地开发服务器。
localhost 内网穿透用于开发安全吗?
安全,前提是你使用可信的隧道客户端和 HTTPS 网关。PortPreview 加密云边缘与你机器之间的流量,并且只转发你明确暴露的端口。
我需要配置路由器或防火墙吗?
不需要。出站 WebSocket 内网穿透避免了入站端口转发,因此你不需要更改路由器、设置公网 IP 或添加防火墙例外。