V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
isCyan
V2EX  ›  全球工单系统

七牛融合 CDN HTTPS 回源配置“遵循请求协议”,解析到阿里云 CDN 节点时, HTTP 访问却用 HTTPS 回源

  •  
  •   isCyan · 2017-09-18 21:56:00 +08:00 · 5424 次点击
    这是一个创建于 2652 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为七牛从来不重视我们这种个人客户,必须搞个小新闻,放到 V2 上来,提高一下执行效率。

    工单全文:

    此问题与域名无关,出现于使用阿里云 CDN 的七牛融合 CDN 域名上。

    使用腾讯云,又拍云等其他 CDN 提供商时一切正常,符合预期。

    HTTPS 回源配置遵循请求协议时,预期结果为

    HTTP 访问 HTTP 回源,HTTPS 访问 HTTPS 回源,

    而在使用阿里云 CDN 的七牛融合 CDN 域名上,实际结果为

    HTTP 访问返回 HTTPS 回源产生的结果(这是不符合预期的),HTTPS 返回 HTTPS 回源产生的结果(这是符合预期的)。

    以上面提到的域名 pixels.chocoweb.net 为例:

    先看解析到又拍 CDN 节点时的正常符合预期的情况:

    又拍(并不是我在又拍官网配置的,是七牛代理配置的,融合 CDN 嘛,七牛把好多提供商都一起配置了,我强制解析过去而已)

    如下图,手工解析到某山东电信节点,HTTP 访问,因为是 HTTP 回源,所以后端 80 端口接收到回源请求,返回跳转到 HTTPS 的 301 (这个跳转是在我源站服务器配置的),符合预期

    Image

    而解析到阿里 CDN 时,出现了不符合预期的情况。

    如下图,手工解析到某河北联通节点,明明是 HTTP 访问,却返回了 HTTPS 回源的 200 结果,没有预期中的跳转 301。

    HSTS Header (Strict-Transport-Security) 的出现也证明了 CDN 节点是 HTTPS 回源的。我的配置中,只有访问 443 端口才会返回这个 HSTS 的 Header。

    Image

    如果你们觉得是我手工解析的不是从 qiniudns.com 出来的,我就再放一个解析到澳门节点的图,我在澳门,所以直接解析到澳门节点。如下图,和刚才解析到阿里 CDN 河北联通节点返回的结果一样。

    Image

    为了证明是七牛的配置阿里 CDN 的问题而不是阿里 CDN 本身的问题,我还有一个直接在国内版阿里云平台上的域名,配置了和 pixels.chocoweb.net 一模一样的 HTTP 访问跳转 HTTPS 配置。同样配置了回源遵循请求协议。该域名没有接入七牛 CDN 平台,只是借助 qnssl.com 的域名回源到七牛宁波 CDN 源站( nb-gate-io-msrc.qiniu.com )。顺带提一下,根据经验,七牛所有存储区域 CDN 回源以及自定义源站回源都会被这个七牛宁波 msrc 反代一下,还在 header 里输出真正的源站 ip …… 肯定是为了加图片处理参数,搞了这么个损招,影响安全和性能。

    如下图:

    Image

    正常结果:

    Image

    因此,基本排除阿里 CDN 本身的问题,很可能是七牛作为代理接入阿里 CDN 的配置问题。

    希望尽快解决。

    多一层反代且泄漏 IP 地址的问题,我再发个工单和帖子说。

    4 条回复    2017-09-20 18:29:18 +08:00
    mechgouki
        1
    mechgouki  
       2017-09-18 22:15:04 +08:00
    七牛马上就是阿里云分舵了
    a1044634486
        2
    a1044634486  
       2017-09-19 11:46:08 +08:00
    我的回源是 https,但是解析到 cname 首页是 http,其他的页面是 https。我直接用 a 记录解析就没这个问题。真奇怪。。也是七牛
    a1044634486
        3
    a1044634486  
       2017-09-19 11:54:00 +08:00
    域名 ap6x.com
    nginx 跳转 https https://i.loli.net/2017/09/19/59c0946d1e8ec.png
    刚刚刷新过资源了。https://i.loli.net/2017/09/19/59c094b74acdc.png
    感觉哪里怪怪的。是不是我操作姿势有问题
    isCyan
        4
    isCyan  
    OP
       2017-09-20 18:29:18 +08:00
    您好,

    1.对于边缘节点没有实际达到回源请求遵循协议的问题,我们已经排查到原因,是因为我们的父层节点有合并缓存的策略,http 和 https 共享缓存,当源站 http 和 https 协议访问内容不一样时,就会因为合并缓存的问题导致访问结果不符合预期。您测试又拍和腾讯节点都正常,是因为测试的时候访问到的超父层节点还没有缓存。我们可以关闭您这个域名合并缓存的策略,或者说下掉超级父层。

    2.我们在海外有部署超级父层节点,不过目前仅在北美有部署。在其他地区,您描述的海外客户访问海外源站,确实会绕到国内或者北美。

    这边是否可以先下掉这个域名的超级父层?如果您还有其他域名有此需求,您再提供给我们,我们来处理,您看是否可以呢?

    我回复:好啊
    然后就好使了。我的建议是,七牛的超级父层就是个不完善的自建 CDN,问题超级多,还不如没有好……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1055 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:14 · PVG 02:14 · LAX 10:14 · JFK 13:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.