tjo.space/nginx.conf
Tine b23a687923
Some checks failed
ci / docker (push) Has been cancelled
feat(analytics): caching
2024-02-06 13:33:34 +01:00

54 lines
1.7 KiB
Nginx Configuration File

server {
listen 80 default_server;
server_name _;
resolver 9.9.9.9 1.1.1.1 8.8.8.8;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /.well-known/ {
root /usr/share/nginx/html;
default_type application/json;
add_header Access-Control-Allow-Origin *;
}
# Plausible Analytics
# https://plausible.io/docs/proxy/guides/nginx
set $plausible_script_url https://plausible.io/js/script.js; # Change this if you use a different variant of the script
set $plausible_event_url https://plausible.io/api/event;
proxy_cache_path /var/run/nginx-cache/jscache levels=1:2 keys_zone=jscache:100m inactive=30d use_temp_path=off max_size=100m;
location = /js/script.js {
proxy_pass $plausible_script_url;
proxy_set_header Host plausible.io;
# Tiny, negligible performance improvement. Very optional.
proxy_buffering on;
# Cache the script for 6 hours, as long as plausible.io returns a valid response
proxy_cache jscache;
proxy_cache_valid 200 6h;
proxy_cache_use_stale updating error timeout invalid_header http_500;
# Optional. Adds a header to tell if you got a cache hit or miss
add_header X-Cache $upstream_cache_status;
}
location = /api/event {
proxy_pass $plausible_event_url;
proxy_set_header Host plausible.io;
proxy_buffering on;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}