阿里云 DCDN 全站加速,会不断的做高频健康检查,以无法察觉的方式,吃掉源站流量(特别是按流量计算的) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
BD7JHH
V2EX    云计算

阿里云 DCDN 全站加速,会不断的做高频健康检查,以无法察觉的方式,吃掉源站流量(特别是按流量计算的)

  •  1
     
  •   BD7JHH 2024-06-16 09:54:51 +08:00 2818 次点击
    这是一个创建于 481 天前的主题,其中的信息可能已经有所发展或是发生改变。
    场景描述:
    源站开启了 2 个站点,其中 1 个是带域名的,另 1 个是默认站点

    其中不带域名的访问(默认站点),直接返回 503 ,同时 SSL 握手阶段使用的是 empty 空值。
    NGINX 默认站点配置如下:
    server {
    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    server_name _;
    return 503;
    set $empty "";
    ssl_certificate data:$empty;
    ssl_certificate_key data:$empty;
    }

    DCDN 配置了源站回源端口为 443 的时候,DCDN 的健康检查就会不断的发送不带域名的 "https://源站 ip" 请求,而且是高频的,1 天可以有几十万次的请求。

    注意:即使配置了回源 SNI ,以及回源域名,同样会做这种检查。

    阿里云工单对于这个问题的回复,其中有 1 条是说健康检查最多也就是 90s 一次,但实际上并不是如此

    同时阿里云售后给出的所谓解决方案是:
    后端建议是可以关闭静态资源 开启 2.0 架构看下(开启 2.0 架构会有短暂的业务不可用,需要您这边确认什么时候可以开启)

    然而我再继续对这个解决方案提出问题:
    1 、关闭静态资源是什么意思?从哪里关闭?有什么影响?
    2 、2.0 架构是什么东西?从业务说明文档中并没看到?是否属于内测平台?

    阿里云的回复原文如下:
    1 、DCDN 主要实现动态和静态资源结合的加速产品,关闭静态资源意思是让资源都通过动态加速;
    2 、2.0 是新架构,功能项比现在的 1.0 多哈

    阿里云进一步回复:
    1 、是的哈,静态关闭后,就是访问的时候不走静态了,是走的动态节点回源;
    2 、2.0 架构没有具体的介绍页面哈,这个不是内测的,已经是上线的功能哈


    这下问题就来了,产品的后端健康检查产生高频请求,阿里云的解决方案居然是让关掉静态资源缓存,所有请求都回源。
    如果真的调到这样,DCDN 就纯粹的是 1 个不缓存的 PROXY ,吃掉 2 次流量( DCDN 吃 1 次,源站再吃 1 次)。

    MD 这还要 DCDN 做什么?送钱吗?
    同时说“2.0 是新架构,功能项比现在的 1.0 多哈 ”,单纯这样的解释,就好像骗路边啊婆啊伯买新产品一样。

    如果 2.0 架构是已上线功能,用户为什么不能自己切换?而要阿里云工程师进行后台切换?严重怀疑这就是内测,找小白做内测。

    结论:阿里云从不解决自身问题,一直忽悠。。。
    15 条回复    2024-06-17 15:03:55 +08:00
    wy315700
        1
    wy315700  
       2024-06-16 10:03:42 +08:00 via Android
    可能是因为你不带域名的请求返回来 503 导致阿里云认为你源站当机了
    试试看返回个 200 看看
    BD7JHH
        2
    BD7JHH  
    OP
       2024-06-16 10:13:03 +08:00
    @wy315700 但阿里云的 DCDN 源站健康检查(源站运行情况)是绿色的“健康”。
    也就是阿里云自己给出的源站健康报告没有问题。

    同时这个健康检查请求,只是在 SSL 握手阶段就产生错误,并关闭连接了。并没有到状态码的环节。

    就是 SSL 握手,证书不对,就关闭了连接。

    问题不在于证书对不对,而是健康检查为什么不带回源域名进行访问?而去直接访问 IP 。
    wy315700
        3
    wy315700  
       2024-06-16 10:15:35 +08:00 via Android
    @BD7JHH
    会不会因为你填源站的时候填了 IP

    一般 CDN 很少有用 SSL 回源的 除非 TCP 直接透传

    因为太影响速度,CDN 起不到加速作用了
    BD7JHH
        4
    BD7JHH  
    OP
       2024-06-16 10:23:43 +08:00
    @wy315700 源站是填 IP ,端口选 443 ,已设置回源域名,已设置回源 SNI 域名。
    如果源站不填 IP ,填源站域名,那不就是死循环了?加速域名和源站域名是同 1 个域名,然而加速域名配了 CNAME ,如果源站也配成相同域名,不就死循环了?

    源站走 SSL 目前感觉不到速度影响,CDN 加速主要是对静态资源进行缓存(所以源站是 SSL 并不会影响内容缓存加速)

    源站走 SSL 的目的是在源站和 DCDN 节点间的通讯也加密

    按用户端的理解,既然是健康检查,为什么不走带域名的健康检查,而直接请求和加速域名不相关的请求?
    yinmin
        5
    yinmin  
       2024-06-16 10:5511 +08:00 via iPhone
    return 503 改成 return 404
    yinmin
        6
    yinmin  
       2024-06-16 11:06:26 +08:00 via iPhone
    另外,证书 empty 改成真实证书,然后看看问题是否改善。
    Shiroka
        7
    Shiroka  
       2024-06-16 11:10:42 +08:00 via iPhone
    源站健康检查:实行主动四层健康检查机制,探测源站的 80 、443 或自定义端口。每 2.5 秒检查一次,连续 3 次失败标记为不可用。

    https://www.alibabacloud.com/help/zh/dcdn/user-guide/configure-an-origin-server

    尝试源站设置成只有一个主,不要添加其他的主和备
    BD7JHH
        8
    BD7JHH  
    OP
       2024-06-16 11:21:37 +08:00
    @yinmin 如果配置为真实证书,这好像违反了默认站点禁止访问的原则。
    我曾经试过使用自签证书作为默认站点的证书,这时候报错信息没有了,但如果打开 debug 级别的,还是看到高频访问。

    如果使用 empty ,改成 404 甚至 200 都没用,因为是在 SSL 握手阶段就报错,然后就断开了。
    如果使用自签证书,证书无效也会断开的。

    基本的问题不在于状态码,而在 SSL 握手阶段,而再进一步说,健康检查高频请求不带业务域名,这是后端健康检查的业务逻辑有问题。

    客户配置了所有可以配置的回源域名,回源 SNI ,那健康检查应该遵循业务配置进行健康检查。而不是自己萌生出 1 个非正常请求。
    BD7JHH
        9
    BD7JHH  
    OP
       2024-06-16 11:23:13 +08:00
    @Shiroka 不是 2.5 秒,我遇到的是 1 秒好多次,而且是多个节点都同时做高频请求。3 小时,10W 次的健康检查。

    单主 和 主备,都一样
    BD7JHH
        10
    BD7JHH  
    OP
       2024-06-16 11:24:59 +08:00
    目前更新:
    阿里云售后打电话给我了,说让我新开 1 个域名,然后单独的把新的域名打开 2.0 架构,看看是否存在问题。

    同时目前的工单继续处理中,说是已经提升级别了。看后续吧~~
    wushenlun
        11
    wushenlun  
       2024-06-16 13:46:30 +08:00 via Android
    没勾 sni 吧,或者回源 host 被改了?
    dorothyREN
        12
    dorothyREN  
       2024-06-16 19:55:14 +08:00
    不介意的话可以考虑用 http 回源
    BD7JHH
        13
    BD7JHH  
    OP
       2024-06-17 15:00:34 +08:00
    @wushenlun 回源 HOST 也有 回源 SNI 也填写了
    BD7JHH
        14
    BD7JHH  
    OP
       2024-06-17 15:01:47 +08:00
    @dorothyREN 这个回源 http 确实不会产生这个问题,之前其他域名的配置就是回源 HTTP 。只不过现在考虑的还是回源 HTTPS
    BD7JHH
        15
    BD7JHH  
    OP
       2024-06-17 15:03:55 +08:00
    目前状态:
    开启 2.0 架构的,目测真的不会产生高频健康检查访问
    但同时好像非 2.0 架构的情况下,如果不添加备用回源 IP ,好像也不会产生高频访问。这个在持续观察中
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3308 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 10:44 PVG 18:44 LAX 03:44 JFK 06:44
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86