踩了几个坑,在给站点配置cdn的时候要检查以下几点:
1. 加速域名使用 CNAME 接入时,检查 DNS 是否存在“CNAME 展平”
CNAME展平的本质是将原本动态的IP地址静态化、固定化,因此部分DNS服务商(如 Cloudflare)的CNAME展平会导致cdn无效,仅能解析到一两个节点。
建议:换二级域名作为加速域名(主域名),或者换别的DNS服务商,或者改用NS接入
2.确认源站响应头是否禁止缓存
用curl -I验证一下,看看响应头有没有cache-control: must-revalidate, no-cache, no-store的其中一个,有的话cdn节点就无法缓存
而且wordpress自带不缓存的响应头。遇到某些聪明的cdn会有自定义规则来绕过此项,但节点缓存要是真设定成遵循源站的 Cache-Control就炸了
建议:配置cdn缓存规则(不遵循源站的Cache-Control),或者修改nginx的响应头,用wp建站的也可以直接移除wp默认的 “禁止缓存” 头
不太喜欢使用 cf 作 dns 解析服务,它的dns 解析真的好慢
还好吧,我买新域名都顺手扔cf里吃灰(