加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

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

发布时间:2020-12-13 21:41:04 所属栏目:Nginx 来源:网络整理
导读:我最近在切换到Cloudflare之后遇到了一个问题,解决方案是基本上阻止Cloudflare缓存404响应. 在我们的负载均衡的多服务器设置中,偶尔会发生404,但它们很快就会被rsync(通过lsyncd)修复.在Cloudflare之前,对404ed文件的重新请求将很快变为200,因为rsync完成了

我最近在切换到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;
      }
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读