You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laminas应用404页面缓存问题:仅强制刷新才加载新内容

问题排查与解决方案
  • 精准定位缓存失效目标
    你之前只清除了根域名的缓存,但问题出在具体的404路径上。Akamai、Varnish这类缓存系统,根域名的失效指令不一定能覆盖动态生成的404页面。直接针对问题URL执行缓存失效:

    • Varnish可使用CLI命令:ban req.url == "/saflkjshf/"
    • Akamai在控制台选择该具体路径执行Purge操作,不要仅选择根域名。
  • 检查浏览器本地缓存
    强制刷新有效,说明浏览器存储了旧的404页面。查看404响应的HTTP头,重点关注Cache-Control、Expires字段,如果设置了过长的缓存时间,浏览器会直接使用本地缓存。给404页面设置严格的缓存策略:Cache-Control: no-cache, no-store, must-revalidate,彻底避免浏览器缓存旧内容。

  • 验证Memcache的缓存键
    确认Laminas应用中404页面的缓存键是否与根域名的缓存键分离。之前的失效操作可能未命中404对应的键。可以在代码中添加日志打印404生成时的缓存键,直接删除该键;测试环境下也可重启Memcache服务(生产环境需谨慎操作)。

  • 排查Varnish的404缓存规则
    检查VCL配置中是否存在针对404响应的特殊缓存逻辑,比如单独设置TTL或忽略失效指令。例如如果有if (beresp.status == 404) { set beresp.ttl = 24h; }这类规则,普通的根域名失效将不起作用,需针对404请求单独处理。

  • 确认Akamai节点同步状态
    Akamai的全球边缘节点缓存失效可能存在延迟,使用其Purge Status工具查看失效请求的执行情况,确保所有节点都完成了缓存更新。另外如果自定义了CDN缓存键,要确认404请求的缓存键与常规请求是否一致,避免失效指令不匹配。

内容的提问来源于stack exchange,提问作者Rajsekar Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 21:46:00