Merge branch 'mastofe-5edce2030238293463c041537da4aaeea5cb3875' into 'develop'
[akkoma] / installation / pleroma.vcl
index 8ba67069aa24ec7148ab9fef51e824fa8b9493af..e68938803d7bd31ba8f3ac7c0ff1cd432068c57d 100644 (file)
@@ -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;
@@ -101,7 +114,7 @@ sub vcl_backend_response {
     }
 }
 
-# The synthetic response for the HTTP to HTTPS upgrade
+# The synthetic response for 301 redirects
 sub vcl_synth {
     if (resp.status == 750) {
       set resp.status = 301;