阿里云和aws的CDN回源策略的缓存key配置

最近遇到一个诡异的问题,就是一个svg文件,走cdn和不走cdn下载下来的结果不一样,结果发现是由于该svg比较大,触发了服务端的压缩算法,而根据请求头里accept-encoding的不同,触发的压缩算法可能是gzip,也可能是br。所以,CDN的缓存key必须要将accept-encoding考虑在内。

在请求图片时,会根据不同的accept,决定是返回webp还是png/jpg,所以请求头accept也是CDN缓存需要考虑的。由此可见,更好的技术的使用,却带来了缓存效率的降低,所以新技术到底带来多少好处,可能远比预估来得少。

这里分别记录一下阿里云和aws下CDN缓存key的配置。

阿里云CDN自定义缓存Key配置

配置如下图:

AWS CDN自定义缓存Key配置

在aws里CDN取名叫CloudFront,首先要创建缓存策略(Policies):

特别注意:aws默认帮用户考虑了accep-encoding的gzip和br问题,所以如果要自行处理该缓存key,就需要取消掉其他默认的gzip和br识别的支持,否则策略保存会报错。

接着就是在分发域名里绑定创建的策略,具体就是CloudFront -> Distributions -> Create Behavior:

 

 

发表于 07月31日 00:53   评论:0   阅读:613  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo