我最近在切换到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;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。