Nginx 正在缓存 Django 的错误页面

Nginx 正在缓存 Django 的错误页面

我们使用 Nginx 1.10 在生产环境中为 Django 1.7 后端和 Flask 0.10.1 前端提供文件。目前我们有无缓存设置标头以防止错误页面缓存:

location /ohno/ {
    # Prevent caching on error pages.
    add_header Cache-Control "no-cache" always;
    try_files $uri/index.html $uri.html @flask;
    root {{ www_dir }}/{{ abc_server_name }}/apps/build/;
}

但我听说有些人会时不时地遇到问题,浏览器会错误地显示 502/503 Flask 错误页面,即使他们刷新或稍后重试,错误页面仍然存在。他们必须删除 cookie 才能访问该网站。

我以为无缓存标头阻止了缓存,但 cookie 仍然被保存,并且没有被删除(当它们不应该被删除时)。我查看了 nginx 和服务器日志,但无济于事,我无法在我们的测试环境中复制该问题。

有任何想法吗?

答案1

Cookies 和 cache 不是一回事,no-cache 对浏览器是否存储 cookies 没有影响。

您可以将 cookie 在设置时设置为过期。

相关内容