详细说明如何配置 EdgeOne 来优化缓存:
🚀 EdgeOne 缓存配置指南
📍 第一步:进入 EdgeOne 控制台
- 登录 腾讯云 EdgeOne 控制台
- 找到你的站点(52jiny.com)
- 点击进入站点详情页
📝 第二步:配置全局缓存策略
路径:站点详情 → 站点加速 → 缓存配置
1️⃣ 节点缓存 TTL(CDN 节点缓存)
推荐配置:
- 默认策略:遵循源站(如果源站配置了 Cache-Control)
- 兜底配置:自定义时间(当源站没有 Cache-Control 时)
针对你的网站,建议设置:
全局节点缓存 TTL:自定义时间
缓存时间:1 天(86400 秒)
2️⃣ 浏览器缓存 TTL(客户端缓存)
推荐配置:
全局浏览器缓存 TTL:自定义时间
缓存时间:1 小时(3600 秒)
⚙️ 第三步:使用规则引擎精细化配置
路径:站点详情 → 站点加速 → 规则引擎
规则 1:静态资源(图片、CSS、JS)- 长期缓存
创建规则:
- 点击"创建规则" → "新增空白规则"
- 匹配条件:
- 文件后缀:
jpg, png, jpeg, webp, gif, svg, ico, css, js
- 操作:
- 节点缓存 TTL:自定义时间 → 7 天(604800 秒)
- 浏览器缓存 TTL:自定义时间 → 1 天(86400 秒)
- 保存并发布
规则 2:HTML 页面 - 短期缓存
创建规则:
- 点击"创建规则" → "新增空白规则"
- 匹配条件:
- 操作:
- 节点缓存 TTL:自定义时间 → 5 分钟(300 秒)
- 浏览器缓存 TTL:自定义时间 → 5 分钟(300 秒)
- 保存并发布
规则 3:动态文件 - 不缓存
创建规则:
- 点击"创建规则" → "新增空白规则"
- 匹配条件:
- 文件后缀:
php, aspx, asp, jsp, do, json
- 操作:
- 节点缓存 TTL:不缓存
- 浏览器缓存 TTL:不缓存
- 保存并发布
🔧 第四步:解决主页时间戳问题
你的主页 Last-Modified 显示为 Thu, 01 Jan 1970 00:00:00 GMT,这是异常的。
解决方案:
方案 A:修改源站 Nginx 配置(推荐)
在你的 Nginx 配置文件中添加:
server {
# ... 其他配置
# 设置正确的 Last-Modified
location / {
add_header Last-Modified $date_gmt;
# 或者使用文件的实际修改时间
# add_header Last-Modified "";
}
# 静态资源配置
location ~* \.(jpg|jpeg|png|gif|webp|svg|ico|css|js)$ {
expires 7d;
add_header Cache-Control "public, max-age=604800, immutable";
}
# HTML 文件配置
location ~* \.(html|htm)$ {
expires 5m;
add_header Cache-Control "public, max-age=300";
}
}
方案 B:使用 EdgeOne 规则引擎覆盖
如果无法修改源站,可以在 EdgeOne 规则引擎中:
- 创建规则:
- 匹配条件:路径
/(或 * 匹配所有)
- 操作:修改 HTTP 响应头
- 添加响应头:
Last-Modified → $date_gmt(或留空让 EdgeOne 自动处理)
🧹 第五步:清除旧缓存
配置完成后,清除旧缓存让新规则生效:
路径:站点详情 → 站点加速 → 缓存刷新
- 选择"刷新缓存"
- 输入要刷新的 URL:
- 主页:
https://52jiny.com/
- 静态资源:
https://52jiny.com/*
- 点击"提交"
📊 第六步:验证配置
配置完成后,等待 5-10 分钟,然后验证:
# 检查主页
curl -I https://52jiny.com/
# 检查静态资源
curl -I https://52jiny.com/img/UStat.png
curl -I https://52jiny.com/data/attachment/common/template/boardimg_20260307khuitrjv.svg
期望结果:
- 主页:
Cache-Control: max-age=300
- 静态资源:
Cache-Control: max-age=604800, immutable
Age 头部有值(说明命中缓存)
💡 最佳实践建议
- 版本化静态资源:在文件名中添加版本号(如
style.v1.2.3.css),这样更新时自动失效旧缓存
- 使用 CDN 预热:对热门资源进行预热,提高首次访问命中率
- 监控缓存命中率:在 EdgeOne 控制台查看缓存命中率统计
- 定期清理:对于更新频繁的资源,设置较短的缓存时间
🎯 针对你网站的完整配置示例
规则引擎配置顺序(从上到下):
| 优先级 |
匹配条件 |
节点缓存 TTL |
浏览器缓存 TTL |
| 1 |
文件后缀:php, aspx, asp, jsp, do, json |
不缓存 |
不缓存 |
| 2 |
文件后缀:html, htm |
5 分钟 |
5 分钟 |
| 3 |
文件后缀:jpg, png, jpeg, webp, gif, svg, ico, css, js |
7 天 |
1 天 |
| 4 |
默认(兜底) |
1 天 |
1 小时 |
配置完成后,你的网站缓存性能应该会有显著提升!如果遇到问题,可以随时告诉我。
|