Cloudflare Tunnel常见问题
错误代码
在使用 Cloudflare Tunnel 时,可能会遇到各种错误。以下整理了常见的错误及对应的解决方法。
连接错误
当 cloudflared 无法连接到 Cloudflare 网络时,会根据具体情况输出不同的错误信息。
DNS 解析失败
错误信息:
1 | ERR edge discovery: error looking up Cloudflare edge IPs: the DNS query failed |
原因: 机器配置的 DNS 解析器无法解析 cloudflared 用于发现 Cloudflare Tunnel 目标 IP 的 SRV 记录。常见于企业 DNS 解析器过滤了 SRV 记录,或 DNS 返回了压缩的 SRV 记录。
排查方法:
1 | # 测试本地 DNS 是否能解析 SRV 记录 |
解决方法:
- 若
1.1.1.1可返回结果但本地解析器不行,将系统 DNS 改为 Cloudflare DNS(1.1.1.1)或其他公共 DNS。 - 若两个解析器均无结果,说明防火墙阻止了出站 DNS 查询(UDP 53 端口),需联系网络管理员放行。
超时变体:
1 | ERR edge discovery: error looking up Cloudflare Edge IPs: the DNS query failed |
常见于 Docker/Kubernetes 容器环境,内部 DNS 解析器不可达或配置错误。
解决方法:
- Docker 中可通过
--dns 1.1.1.1覆盖解析器。 - Kubernetes 中检查
kube-dns或CoreDNS服务是否正常运行。
QUIC 握手超时
错误信息:
1 | ERR Failed to dial a quic connection error="failed to dial to edge with quic: |
原因: cloudflared 已解析到 Cloudflare 目标 IP,但无法通过 UDP 7844 端口完成 QUIC 握手。网络或防火墙阻止了出站 UDP 流量。
排查方法:
1 | # 测试 UDP 7844 端口连通性 |
解决方法:
- 在防火墙中放行出站 UDP 7844 端口流量。
- 如果无法放行 UDP,
cloudflared会自动回退到 HTTP/2 over TCP,也可通过--protocol http2参数强制使用 HTTP/2。
TCP 连接超时
错误信息:
1 | ERR Unable to establish connection with Cloudflare edge |
原因: cloudflared 无法通过 TCP 7844 端口到达 Cloudflare。如果同时出现 QUIC 握手超时,说明 UDP 和 TCP 均被阻止,隧道完全无法连接。
排查方法:
1 | # 测试 TCP 7844 端口连通性 |
解决方法:
- 在防火墙中放行出站 TCP 7844 端口流量到 Cloudflare Tunnel IP 范围。
- 如果环境完全阻止 7844 端口,隧道将无法正常工作。
Error 1033 — 隧道未连接到 Cloudflare 网络
错误信息: 浏览器访问时显示 Error 1033
原因: Cloudflare 网络找不到健康的 cloudflared 实例来接收流量,即隧道未连接到 Cloudflare 网络。
排查方法: 在 Cloudflare Dashboard 中查看隧道状态:
| 状态 | 含义 | 解决方法 |
|---|---|---|
| Healthy | 隧道正常运行 | 无需操作 |
| Inactive | 隧道已创建但从未运行过 cloudflared 连接 |
执行 cloudflared tunnel run 或安装为系统服务 |
| Down | 隧道曾连接但现已断开 | 检查 cloudflared 进程是否运行,服务器是否关机、崩溃或网络变更 |
| Degraded | 隧道运行中但部分连接失败 | 检查 cloudflared 日志定位连接失败原因,排查本地网络和防火墙规则 |
Error 502 Bad Gateway — 源服务器连接失败
错误信息:
1 | 502 Bad Gateway — Unable to reach the origin service. The service may be down |
原因: 隧道已连接到 Cloudflare 网络,但 cloudflared 无法访问配置的源服务。常见原因包括:
| 原因 | 说明 |
|---|---|
| 源服务未启动 | 本地 Web 服务进程崩溃或未运行 |
| 防火墙阻止 | 防火墙/iptables 阻止了 cloudflared 访问本地端口 |
| origin URL 配置错误 | 配置了不可达的内网地址 |
| TLS 证书不匹配 | 源服务使用自签名证书未被信任 |
| 服务监听地址错误 | 服务仅监听 127.0.0.1,未监听 0.0.0.0 |
排查方法:
1 | # 检查本地服务监听情况 |
解决方法:
- 确保源服务已启动并监听
0.0.0.0(而非仅127.0.0.1)。 - 检查
config.yml中originUrl配置是否正确,推荐使用http://localhost:8080而非内网 IP。 - 检查防火墙是否放行了本地端口。
证书相关错误
x509: certificate signed by unknown authority
错误信息:
1 | error: x509: certificate signed by unknown authority |
原因: 源服务使用了 cloudflared 不信任的证书,例如使用了自签名证书或中间代理启用了 SSL/TLS 解密。
解决方法:
- 将证书添加到系统证书池。
- 使用
--origin-ca-pool参数指定 CA 证书路径。 - 临时使用
--no-tls-verify参数跳过证书验证(仅限测试环境)。
SSL 连接错误
原因: 源服务 HTTPS 配置不正确,或使用 Let’s Encrypt 证书但在 Cloudflare 控制面板中 SSL/TLS 加密模式设置为 Full (Strict)。
解决方法: 在 Cloudflare 控制面板的 SSL/TLS 设置中,将加密模式改为 Full 或 Flexible,或确保源服务器配置了有效的 SSL 证书。
DNS 记录冲突
错误信息:
1 | An A, AAAA, or CNAME record with that host already exists. |
原因: 尝试保存隧道的 public hostname 时,该主机名已存在 DNS 记录。
解决方法:
- 在 Cloudflare Dashboard 的 DNS 记录管理中删除已存在的记录。
- 或者使用其他未被占用的主机名。
认证与凭证问题
cloudflared 服务已安装
错误信息:
1 | cloudflared service is already installed. |
原因: 同一台机器上已运行了其他 cloudflared 实例。一台机器只能运行一个 cloudflared 服务实例。
解决方法:
- 将更多路由添加到现有隧道,而非创建新隧道。
- 如需重新安装,先执行
sudo cloudflared service uninstall卸载。
凭据文件不存在
错误信息:
1 | Tunnel credentials file '/root/.cloudflared/xxx.json' doesn't exist or is not a file |
原因: config.yml 中 credentials-file 指向的路径不正确。
解决方法: 检查 config.yml 中的 credentials-file 路径是否正确,确保文件存在于指定位置。
隧道认证失败
原因: Cloudflare 账户中用户的权限发生变化(如用户被移除出账户),导致之前下载的证书文件中的 API 令牌失效。
解决方法: 重新执行 cloudflared login 登录并重新生成证书文件。
其他常见问题
Too many open files
错误信息:
1 | too many open files |
原因: 系统文件描述符限制过低。
解决方法: 增加系统文件描述符限制:
1 | ulimit -n 65535 |
缓冲区大小警告
错误信息:
1 | failed to sufficiently increase receive buffer size |
原因: 系统 UDP 接收缓冲区大小不足,可能影响 QUIC 连接性能。可以忽略此警告,不会影响连接建立。
解决方法: 按需调整系统参数:
1 | # 临时调整 |
流媒体响应被缓冲
问题: Cloudflare Tunnel 对流媒体响应进行了缓冲,而非实时传输。
解决方法: 在 config.yml 的 ingress 规则中为该服务禁用缓冲:
1 | ingress: |
如何收集调试日志
如需向 Cloudflare 支持团队提交问题,可使用以下命令收集调试日志:
1 | # 前台运行并输出详细日志 |
防火墙规则参考
确保放行以下出站流量:
| 协议 | 端口 | 用途 |
|---|---|---|
| UDP | 7844 | QUIC 连接(默认协议) |
| TCP | 7844 | HTTP/2 回退连接 |
| UDP | 53 | DNS 解析 |
Cloudflare Tunnel 完整的目标 IP 列表请参考 Cloudflare 官方文档。
- Title: Cloudflare Tunnel常见问题
- Author: 清夏晚风
- Created at : 2026-06-09 15:23:22
- Updated at : 2026-07-19 01:57:11
- Link: https://blog.yuil.cn/2026/06/09/组网相关工具/虚拟软件/CloudFlare Tunnel/Cloudflare Tunnel常见问题/
- License: This work is licensed under CC BY-NC-SA 4.0.