Invalid HTTP_IF_NONE_MATCH request header

Valentin V. Bartenev vbart at nginx.com
Thu Jun 15 22:50:30 UTC 2017


On Thursday 15 June 2017 17:45:49 Etienne Robillard wrote:
> Hi,
> 
> I can confirm that my python script is working from the command line. 
> The server (wsgiref) sends a ETag on the initial request with the 200 OK 
> status code. Additional requests will have the request header 
> If-None-Match set with the correct ETag value and a 304 Not Modified 
> response is returned.
> 
> The problem appears to be caused by a missing ETag header in the initial 
> request when running under FastCGI and nginx only. Furthermore, I'm not 
> sure if the "etag on" configuration option is really doing something.
> 
> What do you think?
> 
[..]

A quote from the documentation:

 |  etag on | off;
 |
 | Enables or disables automatic generation of the “ETag” response
 | header field for static resources. 

http://nginx.org/en/docs/http/ngx_http_core_module.html#etag

Your script isn't a static resource, so the directive does nothing for 
location with fastcgi configuration.

Moreover, you don't need to explicitly specify any "fastcgi_param" for
request headers (i.e. HTTP_*) since they are passed automatically (if the
header presents in request).

See the "Parameters Passed to a FastCGI Server" paragraph here:
http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#parameters

  wbr, Valentin V. Bartenev



More information about the nginx mailing list