diff --git a/installation/pleroma.vcl b/installation/pleroma.vcl index 8ba67069a..869d9fe66 100644 --- a/installation/pleroma.vcl +++ b/installation/pleroma.vcl @@ -6,6 +6,11 @@ backend default { .port = "4000"; } +# ACL for IPs that are allowed to PURGE data from the cache +acl purge { + "127.0.0.1"; +} + sub vcl_recv { # Redirect HTTP to HTTPS if (std.port(server.ip) != 443) { @@ -18,6 +23,14 @@ sub vcl_recv { return (pipe); } + # Allow purging of the cache + if (req.method == "PURGE") { + if (!client.ip ~ purge) { + return(synth(405,"Not allowed.")); + } + return(purge); + } + # Pleroma MediaProxy - strip headers that will affect caching if (req.url ~ "^/proxy/") { unset req.http.Cookie;