Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have the following url we would like to proxy cache:


Query string parameter "parameter" varies between requests. So does "paramater2".

Query stringing parameter r is a timestamp we use to make sure the client doesn't serve cached (on the client side) content. Aka "cache buster". Yes we also use all the appropriate don't cache h headers.

Now, we would like to proxy cache via nginx some of these requests. Is it possible to instruct nginx to ignore the r querystring param but use all the others when setting a cache key for the entry? If we can't ignore param r then the nginx proxy cache will be useless as each cache key will be unique.


share|improve this question
up vote 2 down vote accepted

We have found a solution to this question.

The correct method of doing this is to construct a cache key by using nginx $arg_... variables. $arg_... will contain query string parameters. So in the above example we would use $arg_parameter and $arg_parameter2 within the cache key.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.