Skip to content
返回云服务

Cloudflare Tunnel(Argo Tunnel)

无需开放端口即可将本地/私有服务暴露到互联网 — 安全仅出站隧道。

Cloudflare进阶

为什么

Tunnel(cloudflared)创建仅出站连接 — 无入站端口、无需公网 IP、自动 NAT 穿透。源隐藏在 Cloudflare 后,受 DDoS 防护。所有计划免费。

何时使用

用于家庭实验室暴露、私有 API 访问、无公网 IP 的开发/预发布、替代 VPN 的 Web 应用。避免非 HTTP 协议(用 WireGuard/Tailscale)。

如何做

1. 安装 — brew install cloudflared(或下载二进制) 2. 认证 — cloudflared tunnel login(开浏览器,选 zone) 3. 创建 — cloudflared tunnel create my-tunnel(返回 UUID + 凭证文件) 4. 配置 — ~/.cloudflared/config.yml:tunnel、credentials-file、ingress 规则 5. 运行 — cloudflared tunnel run my-tunnel(出站连接到 CF 边缘) 6. 路由 — cloudflared tunnel route dns my-tunnel app.example.com 7. 服务 — 装为 systemd/launchd 服务持久化

示例

# ~/.cloudflared/config.yml tunnel: a1b2c3-uuid credentials-file: /root/.cloudflared/a1b2c3-uuid.json ingress: - hostname: app.example.com service: http://localhost:3000 - hostname: api.example.com service: http://localhost:8080 originRequest: connectTimeout: 30s - service: http_status:404 # 兜底(必需) # 作为服务运行 cloudflared service install systemctl start cloudflared # 快速隧道(临时 URL,无需配置) cloudflared tunnel --url http://localhost:3000

常见问题

  • ⚠重启时隧道断开 — 装为带重启策略的 systemd 服务
  • ⚠config.yml 兜底必需 — 末尾缺 http_status:404 报错
  • ⚠WebSocket 无需特殊配置 — 但长连接隧道可能遇空闲超时

最佳实践

  • ✓运行多个 cloudflared 副本 — HA,跨边缘连接负载均衡
  • ✓Tunnel 配合 Access — 到达源服务前加身份认证(SSO)
  • ✓CI 中固定 cloudflared 版本 — 自动更新可能破坏配置

常见问题解答

什么是Cloudflare Tunnel(Argo Tunnel)?它解决什么问题?

无需开放端口即可将本地/私有服务暴露到互联网 — 安全仅出站隧道。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。

如何在 5 分钟内上手Cloudflare Tunnel(Argo Tunnel)?

两步即可跑通:① 安装 — brew install cloudflared(或下载二进制);② 认证 — cloudflared tunnel login(开浏览器,选 zone)。建议先用免费套餐验证流程,再接入生产环境。

Cloudflare Tunnel(Argo Tunnel) 最容易踩的坑是什么?

最高频的问题是:重启时隧道断开 — 装为带重启策略的 systemd 服务。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。

Cloudflare Tunnel(Argo Tunnel) 的最佳实践有哪些?

Cloudflare Tunnel(Argo Tunnel) 的最佳实践包括:运行多个 cloudflared 副本 — HA,跨边缘连接负载均衡;Tunnel 配合 Access — 到达源服务前加身份认证(SSO);CI 中固定 cloudflared 版本 — 自动更新可能破坏配置。其中首条「运行多个 cloudflared 副本 — HA,跨边缘连接负载均衡」应作为团队默认规范写入 IaC 模板。

Cloudflare Tunnel(Argo Tunnel) 如何控制成本与避免账单意外?

三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。Cloudflare Tunnel(Argo Tunnel) 多数提供免费套餐,先在免费额度内验证再放量。