aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaptiste Jonglez <git@bitsofnetworks.org>2022-11-11 21:45:03 +0100
committerBaptiste Jonglez <git@bitsofnetworks.org>2022-11-11 21:50:08 +0100
commit8dfc9097590822f5c5a8a4cb2def424e887b10cd (patch)
treea6cb2c9a060d05177a7298204c45c618e3e804fe
parent66f2daa0259538c64508b37cec89d76a74a71a02 (diff)
downloadgarage-8dfc9097590822f5c5a8a4cb2def424e887b10cd.tar.gz
garage-8dfc9097590822f5c5a8a4cb2def424e887b10cd.zip
Improve Nginx reverse proxy example
By default, Nginx does proxy buffering and it may store big replies to a temporary file up to 1 GB. It also means that Nginx will read data as fast as possible from Garage, even if the client downloads slowly. Both behaviours are often not wanted, so disable this temporary file in the example. Ref: https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering Also add an example of upstream with a "backup" server, which may be useful to only use remote servers as fallback.
-rw-r--r--doc/book/cookbook/reverse-proxy.md14
1 files changed, 9 insertions, 5 deletions
diff --git a/doc/book/cookbook/reverse-proxy.md b/doc/book/cookbook/reverse-proxy.md
index fb918778..c8fde28d 100644
--- a/doc/book/cookbook/reverse-proxy.md
+++ b/doc/book/cookbook/reverse-proxy.md
@@ -70,14 +70,16 @@ A possible configuration:
```nginx
upstream s3_backend {
- # if you have a garage instance locally
+ # If you have a garage instance locally.
server 127.0.0.1:3900;
- # you can also put your other instances
+ # You can also put your other instances.
server 192.168.1.3:3900;
- # domain names also work
+ # Domain names also work.
server garage1.example.com:3900;
- # you can assign weights if you have some servers
- # that are more powerful than others
+ # A "backup" server is only used if all others have failed.
+ server garage-remote.example.com:3900 backup;
+ # You can assign weights if you have some servers
+ # that can serve more requests than others.
server garage2.example.com:3900 weight=2;
}
@@ -96,6 +98,8 @@ server {
proxy_pass http://s3_backend;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
+ # Disable buffering to a temporary file.
+ proxy_max_temp_file_size 0;
}
}
```