Wildcard proxy_cache_purge doesn't work

Ventzy nginx-forum at nginx.us
Sat May 31 16:40:48 UTC 2014


I have cache setup like this:

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=pagecache:10m;
location / {
  ...
  proxy_cache pagecache;
  proxy_cache_key "$scheme://$host$request_uri";
}

And it works as expected. 

I want cache purging and it works for single url, but not for wildcard url.
I am looking this doc
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_purge.

For example I have page http://cms.local/gsm and if I do proxy_cache_purge
pagecache "http://cms.local/gsm"; it is removed from cache, but
proxy_cache_purge pagecache "http://cms.local/*"; doesn't have any effect.
My config with purge looks like this:

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=pagecache:10m;
location / {
    error_page 477 = @purge;
    if ($request_method = PURGE) {
	  return 477;
    }
    proxy_cache pagecache;
    proxy_cache_key "$scheme://$host$request_uri";
}

location @purge {
  access_log /var/log/nginx/caching.purge.log;
    
  proxy_cache_purge pagecache "http://cms.local/*";
  #proxy_cache_purge pagecache "$scheme://$host$request_uri";
}

Am I missing something?
I am using nginx 1.6 on ubuntu 12.04.

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,250519,250519#msg-250519



More information about the nginx mailing list