logo NodeSeekbeta

Gatewaysentry 建站到底要不要套CF

我套了CF结果,CF经常回源超时

我其他的机器倒是从来没出现过这个问题

当然我还在排查,不知道有没有大佬遇到类似的情况

12
  • gs 这家我记得不是高防优化嘛,套 cf 大陆减速哇 xhj001

  • 套cf目的是啥

  • 从来没遇到过CF回源超时的,如果是国际互联网访问,CF效果肯定是比较好的,国内访问还是不行

  • @samhou #1

    直连线路也不咋地。。。

  • CLAUDE的排查。。。

    环境

    • 站点套 Cloudflare 代理(橙云),SSL 模式 Flexible,源站只监听 80
    • 源站:某 LA 机房的 NAT VPS,1Panel + OpenResty 反代到本机 Docker 容器
    • 源站 eth0 是 CGNAT 地址 100.x.x.x/16,网关 100.x.x.x
      对外由机房 NAT 映射成公网 IP(记为 A.B.C.D
    • 机器 uptime 7 天,期间无重启

    现象

    同一天出现两次,表现不同但怀疑同源:

    • 上午:整站 520,持续约 3 分钟自愈
    • 下午:间歇性 522,稳定复现

    从客户端连测 15 次:

    成功 12 次   TTFB 0.75 ~ 1.07s
    522   2 次   卡满 20s 超时
    000   1 次   连接直接失败
    → 失败率 20%
    

    已排查(源站侧全部干净)

    源站本地压根不慢:

    直连后端容器      ttfb 8~12ms
    经 nginx(带Host)  ttfb 9~11ms
    负载              0.04 / 0.06 / 0.01
    

    其它检查项:

    检查项 结果
    nginx error.log 自上次启动起一条错误都没有
    access.log 最近 200 条 全是 200/302/304,无任何 5xx、无慢请求
    网卡 errors / dropped 0 / 0
    conntrack 87 / 262144
    accept 队列(采样) LISTEN Recv-Q=0,Send-Q=511,未见积压
    ping 网关 100 包 0% 丢包,mdev 0.039ms

    上午那次 520 更极端:故障那几分钟 access.log 一条记录都没有
    说明请求根本没到达 nginx。

    关键证据

    失败时在源站上抓到卡住的半开连接:

    State     Local Address:Port    Peer Address:Port
    SYN-RECV  100.x.x.x:80     <-   172.71.x.x:14322      (Cloudflare)
    SYN-RECV  100.x.x.x:80     <-   172.64.x.x:10562      (Cloudflare)
    
    • 对端确实是 Cloudflare 回源 IP
    • SYN-RECV = 源站收到 SYN、回了 SYN-ACK,但第三次握手的 ACK 始终没到
    • CF 等满 20s 放弃 → 返回 522

    链路是 CF → A.B.C.D → 机房 NAT 设备 → 100.x.x.x
    服务器本身、以及服务器到网关这一段都测不出问题,
    所以我怀疑丢包发生在机房那台 NAT 转发设备上(上午丢的是 SYN,下午丢的是 ACK)。

  • 建站就不要用nat机吧

  • 可以开,但是记得发工单让商家把cf ip拉白名单

  • SYN-RECV 已说明问题更像回程或 NAT;先让商家白名单 CF 回源段,不行就换非 NAT 源站。

12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有65067位seeker

🎉欢迎新用户🎉