我的nginx服务器充当另一台服务器的代理,有时返回404s。
我希望404响应可以被caching,就像200响应一样。
但是,我不能使用expires ,因为文档指出:
expires仅适用于200,204,301,302和304响应。
请注意,根据HTTP规范,非200响应的caching是完全可能的 。
那么我怎样才能在404响应中设置到期date呢?
我看到两个选项:
修改另一台服务器以提供caching标头。
使用headers_more模块。 它允许添加头到错误的http响应,但是你将不得不重新编译nginx。
使用Lua模块 。
在客户端(浏览器)上caching错误页面是不可能的
可能你想要caching来自另一台服务器的响应,并可能使用proxy_cache指令。 还要看看proxy_cache_valid指令。