上一篇 下一篇 分享链接 返回 返回顶部

1Panel配置CDN缓存键区分移动PC端

发布人: 发布时间:3 天前 阅读量:35

为什么需要区分移动端与PC端缓存

当同一个URL的响应内容会因访问设备不同而变化时,缓存就必须区分来源。常见场景包括:移动端跳转至独立模板、PC端与移动端展示不同尺寸图片、或根据User-Agent返回不同版本页面。

核心原理:自定义缓存键

CDN与Nginx缓存均以缓存键(Cache Key)作为存储索引。默认缓存键通常只包含域名与URL,无法区分来源设备。因此需要将设备类型或User-Agent纳入缓存键,例如将缓存键设置为 $host$uri$mobile_flag

通过1Panel配置Nginx缓存键

在1Panel中,可通过“网站”→“反向代理”或“配置文件”修改站点Nginx配置。基本步骤如下:

  1. 在http或server级别添加map指令,根据User-Agent判断是否为移动设备;
  2. 定义一个变量,如 $is_mobile,并使用正则匹配常见移动标识;
  3. 在后端代理缓存配置中,将 proxy_cache_key 设置为含该变量的组合键;
  4. 重载Nginx使配置生效。

在CDN控制台配置缓存键

如果使用第三方CDN(如阿里云、腾讯云等),通常可在CDN控制台的“缓存配置”或“自定义HTTP头”中开启“Device Type”或“User-Agent”构成缓存键。具体名称因平台而异,请以实际控制台为准。

注意事项

  • 如果页面采用流式响应或完全自适应,无需区分,避免缓存碎片增加回源率;
  • 缓存键粒度过细会降低命中率,应结合成本与业务需要设计;
  • 由于移动设备和PC设备可能共用CDN边缘节点,务必确保CDN能读取到原始User-Agent,避免源站返回相同内容。
目录结构
全文
企业微信 企业微信
微信公众号 微信公众号
服务热线: 400-790-1688
电子邮箱: 3310008520@qq.com