apache-2.2 – 如何在apache和nginx服务的所有404页面中添加no-cache标头?

前端之家收集整理的这篇文章主要介绍了apache-2.2 – 如何在apache和nginx服务的所有404页面中添加no-cache标头?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我最近在切换到Cloudflare之后遇到了一个问题,解决方案是基本上阻止Cloudflare缓存404响应.

在我们的负载均衡的多服务器设置中,偶尔会发生404,但它们很快就会被rsync(通过lsyncd)修复.在Cloudflare之前,对404ed文件的重新请求将很快变为200,因为rsync完成了它的工作.

但是,由于Cloudflare基于缓存头缓存所有数据,并且apache和Nginx都没有为404发送无缓存头,因此Cloudflare最终会缓存404响应一段时间.

我一直在寻找一个解决方案,在apache和Nginx(全局,所有托管域)中为404s全局添加这样的标头,但到目前为止已经空白了.

有人可以帮忙吗?

谢谢.

最佳答案
你能不能使用error_page指令,然后用添加标题分别处理位置?

例如在Nginx

    server {
      ...
      error_page 404 /404.html;
      location = /404.html {
        root   /usr/share/Nginx/html;
        add_header Cache-Control "no-cache" always;
      }
    }

猜你在找的Nginx相关文章