Is it possible to configure nginx proxy_cache_key to include a specific header as a key instead of just request/args?

I would like to cache my API GET hits and am using x-authtoken in my headers for authentication. This is ignored currently, so another user will get the cache of a previous user if I leave cache enabled.


1 Answer 1


@Alexy Ten posted the link to the correct location in the docs, but just to make it easier for people in the future:

$http_name arbitrary request header field; the last part of a variable name is the field name converted to lower case with dashes replaced by underscores

So in your case it would look like: proxy_cache_key $http_x_authtoken.

  • 2
    Thanks for this, just be sure to convert dashes to underscores as the docs say. I was able to cache AJAX requests using the $http_x_requested_with header. My full cache key looks like this: fastcgi_cache_key $scheme$request_method$host$request_uri$http_x_requested_with;
    – andyvanee
    Commented Jan 18, 2017 at 18:05
  • Thanks @PhilippClaßen!
    – ccnokes
    Commented Jan 20, 2021 at 18:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .