目前根据反馈,不少 Halo 使用者在使用 CDN 代理 Halo 服务时会遇到一些页面请求相关的问题,并且其表现可能无法很好的排查问题,所以这篇博客将列出市面上部分 CDN 厂商针对 Halo 的所需配置。
又拍云
缓存控制 / 参数跟随
此设置项需要改为 全程跟随,否则在 CDN 回源的时候不会携带请求参数,会造成网页上部分请求无法正常处理,表现可能为:
Console 控制台各个管理功能的筛选或者分页功能无效。
Console 控制台无法正常加载插件的静态资源。
腾讯云 EdgeOne
针对于腾讯云 EdgeOne,使用平台提供的默认配置不会遇到比较大的使用问题,但也有需要注意的设置,详情可参考下图的规则引擎配置:
节点缓存 TTL(推荐设置):默认遵循源站即可,并且推荐将无 Cache-Control 的请求设置为不缓存。
自定义 Cache Key(推荐设置):查询字符串设置为全部保留,如果忽略,可能造成以下影响:
部分需要携带查询参数的接口可能因为没有向源站携带参数,导致数据不正确。
Console 控制台无法正常加载插件的静态资源。
部分静态资源携带了版本号参数,可能导致升级主题或者插件之后,静态资源无法及时更新。
修改 HTTP 回源请求头(推荐设置):需要手动设置一个 X-Real-IP 的请求头,否则系统内需要客户端真实 IP 的业务会无法正确获取 IP。
阿里云 CDN
根据阿里云官网文档所述,阿里云 CDN 不支持 DELETE、PATCH 类型的接口,但在 Halo 中比较常用这两种接口类型,所以不建议使用阿里云的 CDN 产品代理 Halo 网站,可以考虑使用阿里云的 DCDN。
未完待续。