当部署用于无代理访问的 Cloudflare Tunnel 时,我们建议遵循以下最佳实践。
为了获得额外的可用性节点,请在网络中的另一台主机上添加一个 cloudflared 副本 (Replica)。
为了使你的应用程序更容易管理,请对用于发布应用程序的公共主机名进行规范化。以下是客户管理其公共主机名的几个示例:
- 委托你主公共网站的子域名用于内部应用程序(例如
tools.dev.customer.com)。 - 如果你的内部 DNS 基础设施可供公开使用,请在 Cloudflare 上注册你的内部主 DNS 记录,并将此域名用于你的公共主机名路由。这使你能够针对相同的私有和公共主机名呈送应用程序。
- 指定某种类型的内部逻辑,根据你正在连接的工具类型生成主机名。例如,如果你在美国东部数据中心有一组专门分配给生产资源的应用程序,你可以创建
tools.us-east.prod.ztproject.com的子域名。
如果你的公共主机名路由提供 HTTPS 应用程序,我们建议启用 No TLS Verify 以减少由于证书不匹配引起的连通性问题。No TLS Verify 会禁用 cloudflared 与源服务之间的 TLS 验证,这意味着 cloudflared 将接受源服务提供的任何证书。此设置对用户的浏览器与 cloudflared 主机之间的流量没有任何影响,后者将始终保持加密。
如果你的目标应用程序位于负载均衡器或类似设备后面,你可能需要将 HTTP Host Header 设置为服务主机名。源服务与 cloudflared 之间的负载均衡器排查起来可能较为困难,通常可以通过添加匹配负载均衡器识别流量习惯方式的请求标头来解决该问题。
在 Cloudflare 仪表板中启用通知以监控隧道健康状况。
定期更新 cloudflared以获取最新的功能和错误修复。