aboutsummaryrefslogtreecommitdiff
path: root/doc/book/cookbook
diff options
context:
space:
mode:
authorJonathan Davies <jpds@protonmail.com>2023-08-01 14:06:37 +0100
committerJonathan Davies <jpds@protonmail.com>2023-08-16 11:49:52 +0100
commit245a0882e18bb4ed2cb45e60ee13447a123922d6 (patch)
tree17b7b4cf8c32d7f9a07a3781015517ed9ba0cf04 /doc/book/cookbook
parent67b1457c77d930cd12f83f5cf07ec7f2376fa00c (diff)
downloadgarage-245a0882e18bb4ed2cb45e60ee13447a123922d6.tar.gz
garage-245a0882e18bb4ed2cb45e60ee13447a123922d6.zip
reverse-proxy.md: Added caching section for Caddy.
Diffstat (limited to 'doc/book/cookbook')
-rw-r--r--doc/book/cookbook/reverse-proxy.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/doc/book/cookbook/reverse-proxy.md b/doc/book/cookbook/reverse-proxy.md
index 9c833ad0..bacac2ef 100644
--- a/doc/book/cookbook/reverse-proxy.md
+++ b/doc/book/cookbook/reverse-proxy.md
@@ -378,6 +378,47 @@ admin.garage.tld {
But at the same time, the `reverse_proxy` is very flexible.
For a production deployment, you should [read its documentation](https://caddyserver.com/docs/caddyfile/directives/reverse_proxy) as it supports features like DNS discovery of upstreams, load balancing with checks, streaming parameters, etc.
+### Caching
+
+Caddy can compiled with a
+[cache plugin](https://github.com/caddyserver/cache-handler) which can be used
+to provide a hot-cache at the webserver-level for static websites hosted by
+Garage.
+
+This can be configured as follows:
+
+```caddy
+# Caddy global configuration section
+{
+ # Bare minimum configuration to enable cache.
+ order cache before rewrite
+
+ cache
+
+ #cache
+ # allowed_http_verbs GET
+ # default_cache_control public
+ # ttl 8h
+ #}
+}
+
+# Site specific section
+https:// {
+ cache
+
+ #cache {
+ # timeout {
+ # backend 30s
+ # }
+ #}
+
+ reverse_proxy ...
+}
+```
+
+Caching is a complicated subject, and the reader is encouraged to study the
+available options provided by the plugin.
+
### On-demand TLS
Caddy supports a technique called