Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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

file.php?parameter=one&paramater2=two&r=EPOCHTIMESTAMP

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.

Thanks.

share|improve this question

1 Answer 1

up vote 1 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

 
discard

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.