How to disable fastcgi caching for the logged user?

Francis Daly francis at daoine.org
Tue Aug 8 18:29:35 UTC 2017


On Mon, Aug 07, 2017 at 04:47:30AM -0400, Etienne Robillard wrote:

Hi there,

> Thank you for your reply. What is the difference between:
> 
> fastcgi_no_cache $http_pragma $http_authorization
> 
> and
> 
> fastcgi_no_cache $remote_user

http://nginx.org/r/fastcgi_no_cache
http://nginx.org/r/$http_
http://nginx.org/r/$remote_user

In each case, if the request is handled by a fastcgi_pass, then the
response will[*] be cached unless certain conditions apply.

In the first case, the conditions are that either there is a Pragma:
header (other than "Pragma: 0") or an Authorization: header (other than
"Authorization: 0") in the initial request.

In the second case, the condition is if "user name supplied with the
Basic authentication" is not empty (and, I guess, not 0). Basic
authentication uses the Authorization: header; it is not the only thing
that uses that header, and I guess that there may be a separate way to
populate that variable (but I have not investigated).

[*] strictly, it is more like "will not, not be cached". There are other
reasons why the response might not be cached.

> In addition, how can I verify the configuration is working as expected?

Watch the logs. Watch the network traffic. Watch the files on the filesystem.

Make a http request. Did it go to the fastcgi server? Was the response
cached? (Was a file in the cache recently modified?)

Repeat the http request? Did this one go to the fastcgi server, or was
it served from cache?

Did each of them do what you wanted them to do?

	f
-- 
Francis Daly        francis at daoine.org


More information about the nginx mailing list