Ryan Wang 的头像
Ryan Wang
1835 阅读

Halo 配置 CDN 的常见问题汇总

Halo 配置 CDN 的常见问题汇总 的封面图
Halo 配置 CDN 的常见问题汇总 的封面图

目前根据反馈,不少 Halo 使用者在使用 CDN 代理 Halo 服务时会遇到一些页面请求相关的问题,并且其表现可能无法很好的排查问题,所以这篇博客将列出市面上部分 CDN 厂商针对 Halo 的所需配置。

又拍云

缓存控制 / 参数跟随

此设置项需要改为 全程跟随,否则在 CDN 回源的时候不会携带请求参数,会造成网页上部分请求无法正常处理,表现可能为:

  1. Console 控制台各个管理功能的筛选或者分页功能无效。

  2. Console 控制台无法正常加载插件的静态资源。

腾讯云 EdgeOne

针对于腾讯云 EdgeOne,使用平台提供的默认配置不会遇到比较大的使用问题,但也有需要注意的设置,详情可参考下图的规则引擎配置:

  1. 节点缓存 TTL(推荐设置):默认遵循源站即可,并且推荐将无 Cache-Control 的请求设置为不缓存。

  2. 自定义 Cache Key(推荐设置):查询字符串设置为全部保留,如果忽略,可能造成以下影响:

    1. 部分需要携带查询参数的接口可能因为没有向源站携带参数,导致数据不正确。

    2. Console 控制台无法正常加载插件的静态资源。

    3. 部分静态资源携带了版本号参数,可能导致升级主题或者插件之后,静态资源无法及时更新。

  3. 修改 HTTP 回源请求头(推荐设置):需要手动设置一个 X-Real-IP 的请求头,否则系统内需要客户端真实 IP 的业务会无法正确获取 IP。

阿里云 CDN

根据阿里云官网文档所述,阿里云 CDN 不支持 DELETEPATCH 类型的接口,但在 Halo 中比较常用这两种接口类型,所以不建议使用阿里云的 CDN 产品代理 Halo 网站,可以考虑使用阿里云的 DCDN

Cloudflare

Rocket Loader

设置位置在:速度 -> 设置 -> 内容优化 -> Rocket Loader

建议关闭,此功能会干扰页面的 JavaScript 执行时机,可能导致页面出现交互问题。

缓存级别

设置位置在:缓存 -> 配置 -> 缓存级别

需要设置为 标准


评论