一条命令把 localhost 变成公网地址:Cloudflare Quick Tunnels 免注册免域名
调试本地服务时,总会遇到需要给别人看的时刻。
写好的网页想让同事在手机上试试,做微信支付或者 Stripe 的回调调试,服务跑在本机 localhost:8080,对方的手机、支付宝服务器、微信服务器根本访问不到。常规解法有这么几种:把代码部署到测试服务器(麻烦,改动一次要重新部署),用内网穿透工具(要注册、要配置、有的还要付费),改路由器做端口映射(需要公网 IP,还有安全风险)。
Cloudflare 的 Quick Tunnels 提供了第四条路:一条命令,不用注册账号,不用买域名,不用在路由器上开端口,直接给本地服务生成一个公网 HTTPS 地址。
这是什么
Quick Tunnels 是 Cloudflare Tunnel 的一个免登录模式(也叫 Trycloudflare)。它在你的电脑和 Cloudflare 全球边缘网络之间建一条隧道,公网请求先到 Cloudflare,再通过这条隧道转发到你本机的服务。
关键点在于这条隧道是单向发起的。你的机器主动连出去,不需要对外开放任何入站端口,路由器、防火墙都不用动。这对没有公网 IP 的家庭宽带、公司内网、还有酒店 WiFi 这类环境特别友好。
Cloudflare 官方文档里把它定位成”测试和开发用途”,生产环境还是建议用需要登录的命名隧道。
装一个命令行工具
Quick Tunnels 依赖 cloudflared 这个守护进程。安装方式按平台各异。
macOS 用 Homebrew:
brew install cloudflared
Windows 可以从 GitHub Releases 下载 exe 或 MSI 安装包,或者用 winget:
winget install Cloudflare.cloudflared
Linux 走 Cloudflare 的软件源,或者直接下 deb/rpm 包:
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb
也有 Docker 镜像 cloudflare/cloudflared。注意 cloudflared 在 Windows 上不会自动更新,需要手动升级;用旧版本的话至少要升到 2020.5.1 以上。
一条命令搞定
装好之后,在终端里跑:
cloudflared tunnel --url http://localhost:8080
把 8080 换成你本地服务的端口。命令执行后,终端会打印出一个框,里面是生成的公网地址,形如 https://某个随机字符串.trycloudflare.com。这个地址自带 HTTPS,全球可访问。
完整流程通常是两个终端窗口:一个跑你的本地服务,另一个跑这条命令。比如用 Python 起个静态服务测试:
python -m http.server 8080
然后另开一个窗口跑 cloudflared,把打印出来的地址发出去就行。
有几件事要知道。这个地址是临时的,每次重启 cloudflared 都会换一个新的,所以不适合长期用。如果 .cloudflared 目录下存在 config.yaml 配置文件,Quick Tunnels 会不工作,需要临时把那个文件改名。

能用来干什么
最典型的是 Webhook 调试。做支付、消息推送、GitHub 钩子这类开发,第三方服务需要回调你的接口,而你的开发机在 localhost 上。跑一条 Quick Tunnel,把公网地址填到第三方的回调配置里,就能在本地断点调试整个流程了。
前端开发也用得上。做响应式布局时,把地址发到手机上直接看真机效果;测试浏览器兼容性时,把链接丢给不同浏览器打开;想跑个性能测试,让 Pingdom、WebPageTest 这类工具去压这个临时域名。
临时演示也是个场景。给客户或同事看半成品,不用先部署到服务器,本地打开 tunnel 把链接发过去,看完关掉就行。
有哪些限制
Quick Tunnels 免费,但有几个明确的约束,用之前得知道。
并发请求上限是 200 个同时在途请求,超了会返回 HTTP 429。不支持 Server-Sent Events(SSE),做流式推送的场景用不了。没有 SLA 和可用性保证——Cloudflare 官方说明,免费隧道某种意义上是新功能的试验田,他们用免费隧道来测试 Tunnel 的新特性,稳定后再推给付费客户。
地址是临时的,重启就变。不支持自定义域名,想要固定域名得注册账号用命名隧道。
这些限制只针对 Quick Tunnels,注册账号用标准的命名隧道就没有这些约束。
和 ngrok 比
ngrok 是最常被拿来对比的工具,两者都是把本地服务暴露到公网,区别在门槛和侧重。
ngrok 免费版需要注册账号、拿到 authtoken 配置到本地才能用,Quick Tunnels 不需要账号,装上就能跑。这是最直接的差别。
能力上,ngrok 免费版有请求查看器、请求重放、WebSocket 支持这些调试工具,Quick Tunnels 没有配套的检查面板。ngrok 客户端是闭源的,cloudflared 是开源的。网络方面,Cloudflare 的边缘节点覆盖 300 多个城市,ngrok 的网络规模小一些。
选哪个看需求。只是想让别人访问一下、调试个 webhook,Quick Tunnels 的零门槛更省事。需要看请求详情、重放请求、调 WebSocket,ngrok 的工具链更完整。
适合什么人
如果你符合这几条,Quick Tunnels 值得记住:需要临时把本地服务给外部访问,又不想部署;调试需要公网回调的第三方集成;在没有公网 IP 的环境(家庭宽带、公司内网、酒店 WiFi)做开发;想要零成本、零注册的临时方案。
几个提醒。它是开发和测试工具,官方不推荐用于生产。并发限制 200、不支持 SSE、无 SLA,这些都要提前评估。cloudflared 是开源的,可以自己审代码。
获取方式:安装 cloudflared(brew / winget / 软件源 / Docker),然后一条 cloudflared tunnel --url 命令。文档在 Cloudflare 开发者站点的 Quick Tunnels 页面。
从”要给别人看”到”链接已经在手上”,中间只差一条命令,不用注册、不用买域名、不用碰路由器。这类工具的价值就在于把门槛降到接近零。
关注「善忘技术夹」全媒体矩阵
扫描上方宣传海报二维码,第一时间获取最新技术文章、开源项目与免安装小程序体验。