Welcome! Log In Create A New Profile

Advanced

Re: Disable NGINX caching 304 Responses from Origin Server

July 26, 2017 05:12AM
So this config seems to work:

proxy_cache_valid 200 3M;
proxy_cache_valid 304 0;
proxy_cache_valid 404 0;
proxy_cache_revalidate on;
proxy_ignore_headers Cache-Control Expires;


There is no need for:

proxy_set_header If-Modified-Since $http_if_modified_since;



On 26/07/2017 09:57, Ryan Barclay wrote:
>
> Thanks for the reply Peter.
>
> I've noticed something interesting and wondered if you could shed some
> light on it.
>
> Simply adding:
>
> proxy_ignore_headers Cache-Control Expires;
>
> Enables 304 responses from the origin server without setting:
>
> proxy_set_header If-Modified-Since $http_if_modified_since;
>
> I'm confused.
>
> On 26/07/2017 09:11, Peter Booth wrote:
>> I can’t see an obvious issue, but I can say that there is no such
>> thing as a simple web server setup where caching is involved.
>> I have gray hairs that appeared after working with a high traffic
>> retail website that had seven levels of caching
>> (browser cache, CDN, hardware load balancer, nginx reverse proxy,
>> servlets that write content, tangosol /oracle coherence, endeca caching)
>>
>> I’m hoping that you are living in a saner world than that one but
>> I’m sure that you will have some craziness.
>> I would encourage you to add $upstream_cache_status to your log format
>> and/or add the directive add_headerX-Cache-Status $upstream_cache_status;
>> Instrumenting the cache can be a real life-saver when things go awry.
>>
>> I’d also strongly encourage you to use redbot.org http://redbot.org
>> to check for aberrant behavior and webpagetest.org
>> http://webpagetest.org
>> to see how different browsers handle your site.
>>
>> Peter
>>
>>
>>
>>> On Jul 26, 2017, at 3:29 AM, Ryan Barclay <ryan@rbftpnetworks.com
>>> <mailto:ryan@rbftpnetworks.com>> wrote:
>>>
>>> The following config seems to work for the situation I discussed:
>>>
>>> proxy_cache_valid 200 3M;
>>> proxy_cache_valid 304 0;
>>> proxy_cache_revalidate on;
>>> proxy_set_header If-Modified-Since $http_if_modified_since;
>>> proxy_ignore_headers Cache-Control Expires;
>>>
>>>
>>> ... can anybody see any problems with this config or future problems
>>> that may arise?
>>>
>>>
>>> On 24/07/2017 16:20, Ryan Barclay wrote:
>>>> We have a pretty simple setup with NGINX sitting on the front and a
>>>> backend server (on a separate physical server) that provides the
>>>> content.
>>>>
>>>> Nginx then caches content based on the EXPIRES and Cache-Control
>>>> headers set by the origin server.
>>>>
>>>> We noticed that NGINX was not issuing 304 headers to images that
>>>> were not in the local NGINX cache when the If-Modified-Since header
>>>> was sent by the client. Instead, it would issue a 200 with the full
>>>> data file.
>>>>
>>>> To fix this, we applied:
>>>> proxy_set_header If-Modified-Since $http_if_modified_since
>>>>
>>>> So then the If-Modified-Since header was passed to the backend and
>>>> of course, it returned correctly with the 304 header - great.
>>>>
>>>> But what we noticed was that NGINX would cache this 304 response
>>>> and deliver future responses as 304 to clients even without the
>>>> If-Modified-Since header.
>>>>
>>>> How can we disable caching of 304 responses and fix this issue?
>>>>
>>>> Thank you for your help, suggestions, and tips in advance.
>>>
>>> _______________________________________________
>>> nginx mailing list
>>> nginx@nginx.org <mailto:nginx@nginx.org>
>>> http://mailman.nginx.org/mailman/listinfo/nginx
>>
>>
>>
>> _______________________________________________
>> nginx mailing list
>> nginx@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx
>

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

Disable NGINX caching 304 Responses from Origin Server

ryanrbftp July 24, 2017 11:22AM

Re: Disable NGINX caching 304 Responses from Origin Server

tokers July 24, 2017 09:36PM

Re: Disable NGINX caching 304 Responses from Origin Server

ryanrbftp July 25, 2017 03:26AM

Re: Disable NGINX caching 304 Responses from Origin Server

ryanrbftp July 26, 2017 03:30AM

Re: Disable NGINX caching 304 Responses from Origin Server

pbooth July 26, 2017 04:12AM

Re: Disable NGINX caching 304 Responses from Origin Server

ryanrbftp July 26, 2017 04:58AM

Re: Disable NGINX caching 304 Responses from Origin Server

ryanrbftp July 26, 2017 05:12AM

Re: Disable NGINX caching 304 Responses from Origin Server

pbooth July 26, 2017 05:44AM

Re: Disable NGINX caching 304 Responses from Origin Server

ryanrbftp July 26, 2017 06:20AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 133
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready