因为七牛从来不重视我们这种个人客户,必须搞个小新闻,放到 V2 上来,提高一下执行效率。
工单全文:
回源七牛存储的话,泄漏的就是七牛存储节点的 IP,这个我不管。
但是自定义源站的话,泄漏的是我的服务器 IP。
问题存在范围:
七牛融合 CDN 包括自定义源站和七牛存储空间源站的可被缓存的静态内容。
泄漏方式:
直白泄漏,毫无遮掩。X-M-Source-Addrs Header
我的确是手工指定 ip 解析到了一个阿里云 CDN 的节点,但是也不用证明是七牛 CDN 上的吧。
七牛工程师们看到 X-M-Reqid,X-Qnm-Cache 这些 Header 不敢否认吧。
详细说明:
七牛融合 CDN 不是七牛自建 CDN,它代理了阿里云,网宿,腾讯云,又拍云,白山云,等等各种 CDN 提供商。
七牛融合 CDN 包括自定义源站和七牛存储空间源站的域名的第一级源站(配置给各个 CDN 提供商的直接源站)并不是实际源站(七牛各个存储区域,或者自定义源站 IP /域名),而是一个 nb-gate-io-msrc.qiniu.com ,最开始是位于浙江宁波和杭州的一组电信服务器,现在已经扩展到天津和广东了,并且添加了联通和移动服务器。
也就是说,除了 CDN 节点之外,源站还要再被 msrc 多反代一次。根据 Header 这个 msrc 还带有缓存,并且添加一系列以 X-M- 和 X-Qnm- 开头的 Header。
这些 msrc 服务器我猜七牛是在 CDN 节点之间做个中间源,拿来分摊服务器压力的。同时实现自定义源站(非七牛存储空间)的实时图片处理功能。
而就是这些 msrc 在 Header 里面把源站 ip 输出了…… 可能是方便 Debug 吧, 但是安全风险太高了。本来 CDN 的功能之一就是隐藏 IP。
建议:
自定义源站(非七牛存储空间)不输出 X-M-Source-Addrs Header,把相关源站 IP 信息放到日志里面,可以根据 Request ID 之类的查询日志,满足 Debug 需求
后台添加选项,自定义源站(非七牛存储空间)可以选择不经过 msrc 多一层反代源站,并关闭实时图片处理功能。
希望尽快解决。以上七牛 CDN 设计纯属臆想,如果和实际不符,以实际为准。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.