如果你开发 API、SaaS 产品或基于 webhook 的应用,迟早需要让互联网访问你的本地开发服务器。localhost 内网穿透通过给你一个将流量转发到 127.0.0.1 的安全公共 HTTPS 网址来解决这个问题,无需部署到预发布环境。
什么是 localhost 内网穿透?
localhost 内网穿透(也称localhost 隧道)将你的机器连接到云网关。外部服务、浏览器和移动设备访问一个公共端点;网关通过加密通道将每个请求转发到你的本地应用。
实际上,隧道把这个无法访问的地址:
http://localhost:3000
变成一个可分享的端点,例如:
https://your-app.portpreview.dev
这一个改变就能让你在现有的开发环境中进行 webhook 测试、客户预览和跨设备 QA。
localhost 隧道如何工作
大多数现代隧道工具使用出站 WebSocket 连接,而不是开放入站防火墙端口。流程如下:
- 你在本地启动应用(例如在端口 3000)。
- 隧道 CLI 从你的机器连接到云网关。
- 网关分配一个映射到该会话的公共 HTTPS 网址。
- 传入请求实时转发到你的本地进程。
由于连接是从本地发起的,你就避免了反向代理配置、DNS 记录、TLS 证书管理和路由器设置。对于快速交付的团队,这消除了日常开发中的一大摩擦点。
开发者为何使用 localhost 内网穿透
webhook 与回调测试
支付服务商、源代码管理平台和消息 API 会向配置的网址发送 HTTP 回调。它们无法直接调用私有的 localhost 地址。隧道给服务商一个可访问的端点,同时你在自己的机器上检查载荷。参见我们关于如何在本地调试 webhook、Stripe webhook 测试、GitHub webhook 测试和Twilio webhook 测试的指南。
无需预发布即可分享进行中的工作
设计评审、产品演示和干系人反馈往往发生在分支可部署之前。一个公共隧道网址让你在几秒内分享本地改动的实时预览。
移动端与跨设备测试
手机和平板无法访问你笔记本的 localhost 命名空间。内网穿透让你在真实设备上打开同一个本地构建,验证响应式 UI、认证流程和性能。
第三方集成开发
OAuth 重定向、签名的 webhook 投递和合作伙伴 API 回调,在集成工作期间都需要可从互联网访问的端点。localhost 内网穿透把这一流程保留在你的机器上。
localhost 内网穿透与替代方案
团队通常比较三种选项:
- 预发布部署:真实,但反馈循环慢、共享测试环境嘈杂。
- 手动端口转发:可行,但脆弱,且常被 ISP 或企业网络阻断。
- localhost 内网穿透:快速迭代、默认 HTTPS,以及专门打造的请求可见性。
如果你在评估工具,请阅读我们的PortPreview 对比 ngrok和PortPreview 对比 localtunnel对比,逐项了解现代隧道工作流。
开始使用 PortPreview
PortPreview 专为重度依赖 webhook 的开发流程而打造。用一条命令启动隧道:
npx portpreview 3000
你无需更改应用代码即可获得公共 HTTPS 网址、实时请求日志和重放工具。开源 CLI 只转发你选择的端口,因此你的本地环境保持可预测、可审计。
准备好试试了吗?加入 PortPreview 等候名单,或在 GitHub 上探索开源 CLI。