39 lines
1.1 KiB
Markdown
39 lines
1.1 KiB
Markdown
[[!template id=plugin name=purge core=0 author="[[users/ssm]]"]]
|
|
|
|
IkiWiki plugin to send PURGE requests to remote http cache server (like Varnish Cache) when your content changes.
|
|
|
|
PURGE requests are sent for the changed page, as well as all pages indirectly changed when ikiwiki rebuilds the web pages.
|
|
|
|
# Download
|
|
|
|
Download from [Github](https://github.com/ssm/ikiwiki-plugin-purge)
|
|
|
|
# Configure ikiwiki
|
|
|
|
# purge_url (mandatory), the address of your cache server.
|
|
purge_url: http://example.com/
|
|
|
|
# purge_timeout (optional, default 5) timeout in seconds for a purge request.
|
|
|
|
# purge_method (optional, default "PURGE") HTTP method to use.
|
|
|
|
# Configure your cache server
|
|
|
|
For Varnish, you'll need to add a handler for the non-standard "PURGE" method, and preferrably an ACL which restricts who can send these requests to empty your cache.
|
|
|
|
acl origin_server {
|
|
"localhost";
|
|
"192.0.2.0"/24;
|
|
"2001:db8::"/64;
|
|
}
|
|
|
|
sub vcl_recv {
|
|
if (req.method == "PURGE") {
|
|
if (!client.ip ~ origin_server) {
|
|
return(synth(405,"Not allowed."));
|
|
}
|
|
return (purge);
|
|
}
|
|
}
|
|
|