使用托管在Cloudflare中的域名,绑定腾讯云服务器返回ERR_CONNECTION_TIMED_OUT、Error 520/522/502问题
本文最后更新于23 天前,其中的信息可能已经过时,如有错误请发送邮件到1225615596@qq.com

1.问题描述与现象

通过域名访问间歇失败:

  • 跳腾讯云“网站暂时无法访问/去备案”拦截页
  • 浏览器 ERR_CONNECTION_TIMED_OUT
  • Cloudflare 错误页:Error 520/522/502

直接访问源站端口可用:http://IP:8082 正常


2. 根因分析

  • 未备案导致的入站拦截
    源站位于大陆机房,域名未备案。运营商/云厂商对“未备案域名”通过 80/443 的入站访问进行拦截或限流。
    即便开启 Cloudflare 橙云,Cloudflare 回源到 80/443 时,仍会被拦截/超时,出现 520/超时/拦截页。
  • 后续 502 的直接原因(在引入 Tunnel 后)
    初次用 Docker 跑 cloudflared 时,Tunnel URL 配置为 http://127.0.0.1:8082,但 cloudflared 在容器里看不到宿主机 127.0.0.1,导致回源失败 → 502。
    通过 --network host 或加入同一 Docker 网络并指向容器 IP 解决。

3. 最终实施方案(详细步骤)

4.1 Cloudflare 端配置

  • 进入 Zero Trust → Networks → Tunnels → Create a tunnel
  • Tunnel 类型选择 Cloudflared,并复制生成的 Token
  • 添加 Public Hostname:
    • Subdomain:www(你已创建 www.liuyao.qzz.io
    • Domain:liuyao.qzz.io
    • Type:HTTP
    • URL:http://127.0.0.1:8082
  • 保存后,Cloudflare 会为 www.liuyao.qzz.io 创建 CNAME 到 *.cfargotunnel.com(保持橙云)

备注:如要用根域,需先删除同名 A/AAAA 记录,再由 Tunnel 创建 CNAME;或保留根域,使用 www 子域并在 Rules 里做 301 跳转。

4.2 服务器端启动 cloudflared

  • 推荐用 host 网络(解决 127.0.0.1 可见性问题):
docker rm -f cloudflared

docker run -d --name cloudflared --restart unless-stopped \
  --network host \
  cloudflare/cloudflared:latest \
  tunnel --no-autoupdate run --token <你的TunnelToken>
  • 如需走容器网络(备选):把 cloudflared 加入与前端相同的 Docker 网络,并将 URL 改为 http://172.19.0.6:80 或容器名 http://liuyao-frontend:80

4.3 验证与观测

  • 服务器本机验证回源:
bashcurl -I http://127.0.0.1:8082
# 期望 200/301/304
  • Tunnel 连接状态:
bashdocker logs -f cloudflared
# 期望看到:Connection established / Registered / Serving www.liuyao.qzz.io
  • DNS 生效检查(本地电脑):
powershellnslookup www.liuyao.qzz.io 1.1.1.1
# 期望解析到 Cloudflare / cfargotunnel.com

有出现打不开页面,解决:网络不稳定问题

必备配置(最终应保持)

  • Cloudflare Zero Trust → Tunnels → Public Hostname
    • Hostname: www.liuyao.qzz.io
    • Type: HTTP
    • URL: http://172.19.0.6:80
  • 服务器启动 cloudflaredbashdocker rm -f cloudflared docker run -d --name cloudflared --restart unless-stopped \ --network host \ cloudflare/cloudflared:latest \ tunnel --no-autoupdate --protocol http2 \ --edge-ip-version 4 \ run --token <你的TunnelToken>
    • http2:避开 UDP/QUIC 抖动
    • edge-ip-version 4:优先用 IPv4 连 Cloudflare,提升稳定性
  • DNS
    • www.liuyao.qzz.io 为 Tunnel 创建的 CNAME(橙云)
    • 根域可留空,或做 301 跳转到 https://www.liuyao.qzz.io
  • 1Panel
    • 与该域名相关的 80/443 反代可关闭(避免混淆;Tunnel 不需要入站 80/443)

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇