Nginx:如何设置 404 响应的过期时间?

Nginx:如何设置 404 响应的过期时间?

我的 nginx 服务器充当另一台服务器的代理,有时会返回 404。
我希望 404 响应可以缓存,就像 200 响应一样。

但是,我不能使用expires,因为文档指出:

expires仅适用于 200、204、301、302 和 304 响应。

请注意,非 200 响应的缓存完全有可能根据 HTTP 规范。

那么我该如何设置 404 响应的到期日期呢?

答案1

我看到两个选择:

  1. 修改另一台服务器以提供缓存标头。

  2. 使用headers_more模块。它允许添加标头以错误 http 响应,但您必须重新编译 nginx。

  3. 使用Lua 模块


原始答案

无法在客户端(浏览器)上缓存错误页面

您可能希望缓存来自另一台服务器的响应,这可以通过proxy_cache指令来实现。另请查看proxy_cache_valid指令。

相关内容