因为七牛从来不重视我们这种个人客户,必须搞个小新闻,放到 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 (这个跳转是在我源站服务器配置的),符合预期
而解析到阿里 CDN 时,出现了不符合预期的情况。
如下图,手工解析到某河北联通节点,明明是 HTTP 访问,却返回了 HTTPS 回源的 200 结果,没有预期中的跳转 301。
HSTS Header (Strict-Transport-Security) 的出现也证明了 CDN 节点是 HTTPS 回源的。我的配置中,只有访问 443 端口才会返回这个 HSTS 的 Header。
如果你们觉得是我手工解析的不是从 qiniudns.com 出来的,我就再放一个解析到澳门节点的图,我在澳门,所以直接解析到澳门节点。如下图,和刚才解析到阿里 CDN 河北联通节点返回的结果一样。
为了证明是七牛的配置阿里 CDN 的问题而不是阿里 CDN 本身的问题,我还有一个直接在国内版阿里云平台上的域名,配置了和 pixels.chocoweb.net 一模一样的 HTTP 访问跳转 HTTPS 配置。同样配置了回源遵循请求协议。该域名没有接入七牛 CDN 平台,只是借助 qnssl.com 的域名回源到七牛宁波 CDN 源站( nb-gate-io-msrc.qiniu.com )。顺带提一下,根据经验,七牛所有存储区域 CDN 回源以及自定义源站回源都会被这个七牛宁波 msrc 反代一下,还在 header 里输出真正的源站 ip …… 肯定是为了加图片处理参数,搞了这么个损招,影响安全和性能。
如下图:
正常结果:
因此,基本排除阿里 CDN 本身的问题,很可能是七牛作为代理接入阿里 CDN 的配置问题。
希望尽快解决。
多一层反代且泄漏 IP 地址的问题,我再发个工单和帖子说。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.