暂无AI摘要 阿里云全球安全加速(ESA)为例,为大家带来一份详细的配置教程,教你如何通过精细化的缓存规则,实现对网站的智能缓存——即为未登录的访客提供全站缓存加速,而对已登录的用户则不缓存,从而完美兼顾速度与功能。
为了确保网站数据传输的安全性,HTTPS是必不可少的。在ESA的“边缘证书”配置中,推荐直接申请和使用免费证书,既方便快捷又安全可靠。
配置边缘证书

缓存规则精细化配置
这是实现智能缓存最关键的一步。我们需要在“规则引擎”的“缓存规则”中,通过设置一系列规则,告诉CDN节点在何种情况下缓存内容,在何种情况下回源请求。

规则1:静态资源全缓存
首先,我们将网站中的常规静态文件(如图片、CSS、JS)设置为强制缓存,以最大化加速效果。

规则表达式:
(http.request.uri.path.extension in {"jpg" "webp" "js" "css" "png" "jpeg" "gif" "svg" "ico"})执行操作:设置缓存时间和缓存模式(例如,强制缓存,TTL 7天)。

规则2:动态PHP请求不缓存
PHP文件是处理动态逻辑的核心,绝不能被缓存。
- 规则表达式:
(http.request.uri.path.extension in {"php"}) 执行操作:设置为“不缓存”。

规则3:核心功能页面不缓存
为了保证后台操作、用户中心和搜索功能的正常运作,我们需要将这些关键路径排除在缓存之外。
规则表达式(注意:请将https://www.yourdomain.com替换成你自己的域名!):
(http.request.full_uri contains "/wp-admin/") or (http.request.full_uri contains "/wp-login.php") or (http.request.uri.query contains "s=")
规则4:识别并排除登录用户(关键步骤)
这一步是智能缓存的核心。我们通过检查请求中是否包含登录或评论相关的Cookie,来判断访问者是否为登录用户或刚发表评论的用户。

- 规则表达式(注意:请将https://www.yourdomain.com替换成你自己的域名!):
(starts_with(http.request.full_uri, "https://www.yourdomain.com/") and http.cookie contains "wordpress_logged_in") or (starts_with(http.request.full_uri, "https://www.yourdomain.com/") and http.cookie contains "wordpress_sec_") or (starts_with(http.request.full_uri, "https://www.yourdomain.com/") and http.cookie contains "comment_") - 执行操作:设置为“不缓存”。
规则5:为未登录用户开启整页缓存
最后,我们添加一条规则,对所有不满足上述“不缓存”条件的请求(即未登录访客的访问)进行整页缓存。

规则表达式(注意:请将https://www.yourdomain.com替换成你自己的域名!):
(starts_with(http.request.full_uri, "https://www.yourdomain.com") and not http.cookie contains "wordpress_sec_" and not http.cookie contains "wordpress_logged_in" and not http.cookie contains "comment_")- 执行操作:设置缓存时间和模式(例如,强制缓存,TTL 1小时)。
效果验证
配置完成后,你可以通过浏览器的开发者工具进行验证:

- 未登录状态:访问网站首页,检查响应头(Response Headers),应该能看到类似x-cache: HIT的标识,表明页面由CDN缓存提供。
登录状态:登录WordPress后台后,再访问首页,检查响应头,此时应该显示x-cache: MISS或类似的回源标识,表明请求已直接由源站服务器处理。

通过以上配置,你的网站便实现了高效的智能缓存策略。这种精细化的配置不仅能大幅提升网站的加载速度和并发承载能力,还能有效降低源站服务器的负载。对于追求极致性能的站长而言,阿里云ESA这类集安全与加速于一体的平台,无疑为网站优化提供了强大的技术支持,是提升网站竞争力的重要工具。



