<div dir="ltr">Hi,<div><br></div><div>I have setup nginx with ngx_cache_purge to work with mediawiki</div><div><br></div><div>nginx.conf</div><div>###</div><div><div>fastcgi_cache_path /etc/nginx/cache levels=1:2 keys_zone=MYAPP:100m inactive=60m;</div>
<div>        fastcgi_cache_key "$scheme$host$request_uri";</div><div>###</div><div><br></div><div>vhost.conf</div><div>###</div><div><div>set $no_cache "";</div><div>        if ($request_method !~ ^(GET|HEAD)$) {</div>
<div>                 set $no_cache "1";</div><div>        }</div><div><br></div><div><br></div><div><br></div><div>  </div><div>        if ($request_method ~ "PURGE")</div><div>                        {</div>
<div>                                        rewrite (.*) /PURGE$1 last;</div><div>                        }</div><div><br></div><div>        location / {</div><div>                if (!-e $request_filename) {</div><div>                        rewrite ^/([^?]*)(?:\?(.*))? /index.php?title=$1&$2 last;</div>
<div>                }</div><div><br></div><div>                if ($uri ~* "\.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$") {</div><div>                        expires max;</div><div>                        break;</div>
<div>                }</div><div>        }</div><div><br></div><div>        location /PURGE/ {</div><div>        allow              127.0.0.1;</div><div>        fastcgi_cache_purge MYAPP;</div><div>}</div></div><div><br></div>
<div>location ~ \.php$ {<br></div><div><br></div><div>                fastcgi_cache MYAPP;</div><div>                fastcgi_cache_methods GET HEAD;</div><div>                fastcgi_cache_valid 200 5m;</div><div>                add_header X-Cache "$upstream_cache_status";</div>
<div>                fastcgi_cache_bypass $no_cache $http_cookie;</div><div>                fastcgi_no_cache $no_cache $http_cookie;</div><div>                fastcgi_ignore_headers Expires Cache-Control;</div><div>}</div>
<div><br></div><div>####</div><div><br></div><div><br></div><div>The caching is working fine as .But whenever I edit a page I can see the following in the access log</div><div><br></div><div><div>127.0.0.1 - - [16/Apr/2014:09:37:59 -0400]  "PURGE /Knowledge_Base HTTP/1.1" 405 166 "-" "MediaWiki/1.21.3 SquidPurgeClient" - "-" 0</div>
</div><div><br></div><div><br></div><div>Regardless the page is never purged and I see the cached page unless nginx is restarted . </div><div><br></div><div>What am I doing wrong here . Why is the PURGE request generating a 405 response? </div>
<div> </div><div>Thank you,</div><div><br></div>-- <br><b>Anoop P Alias</b> <div><a href="http://gnusys.net" target="_blank">GNUSYS</a></div>
</div></div>