From 5cae00129a4b79802b97e48e9cd316b203e7d4af Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 18 Aug 2021 18:52:08 +0200 Subject: add caching nginx example configuration --- README.md | 4 ++++ examples/nginx-cache.conf | 2 ++ examples/nginx-site.conf | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 examples/nginx-cache.conf create mode 100644 examples/nginx-site.conf diff --git a/README.md b/README.md index df2eb5d..6e910b1 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,10 @@ index.pl daemon -m production** (quick&dirty, does not respect all variables) or **hypnotoad** (recommended). A systemd unit example is provided in `examples/db-infoscreen.service`. +For public-facing installations, you may want to enable caching in the reverse +proxy serving DBF. See `examples/nginx-cache.conf` and +`examples/nginx-site.conf` for nginx examples. + All code in this repository may be used under the terms of the BSD-2-Clause (db-infoscreen, see COPYING) and MIT (jquery, jqueryui, and marquee libraries; see the respective files) licenses. Attribution is appreciated. diff --git a/examples/nginx-cache.conf b/examples/nginx-cache.conf new file mode 100644 index 0000000..bea4366 --- /dev/null +++ b/examples/nginx-cache.conf @@ -0,0 +1,2 @@ +proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=dbf_cache:10m max_size=1g inactive=10m use_temp_path=off; +proxy_cache_valid any 1m; diff --git a/examples/nginx-site.conf b/examples/nginx-site.conf new file mode 100644 index 0000000..1aac763 --- /dev/null +++ b/examples/nginx-site.conf @@ -0,0 +1,32 @@ +upstream dbf { + server 127.0.0.1:8092; +} + +server { + listen [::]:443; + listen 0.0.0.0:443; + + server_name FIXME; + access_log /var/log/nginx/FIXME.log anonip; + + add_header Strict-Transport-Security "max-age=31536000" always; + + location /static { + expires 1y; + root /srv/www/dbf/public; + } + + location / { + proxy_cache dbf_cache; + proxy_cache_lock on; + proxy_ignore_headers "Set-Cookie"; + proxy_hide_header "Set-Cookie"; + proxy_pass http://dbf; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto "http"; + add_header X-Frame-Options ""; + add_header Strict-Transport-Security "max-age=31536000" always; + } +} -- cgit v1.2.3