我们有一个非常简单的设置,NGINX坐在提供内容的前端和后端服务器上(在单独的物理服务器上)。禁用NGINX缓存304来自原始服务器的响应
然后Nginx会根据源服务器设置的EXPIRES和Cache-Control标头缓存内容。
我们注意到,当客户端发送If-Modified-Since报头时,NGINX并不向本地NGINX缓存中的图像发出304报头。相反,它会用完整的数据文件发出200。
为了解决这个问题,我们应用:
proxy_set_header If-Modified-Since $http_if_modified_since
所以后来了If-Modified-Since头传递给后端,当然,它正确地与304头回来 - 伟大的。
但是我们注意到,NGINX会缓存这个304响应,并且即使没有If-Modified-Since标头,也会将未来响应作为304传递给客户端。
我们如何禁用缓存304响应并解决此问题?
感谢您提前给予的帮助,建议和提示。