54 lines
1.7 KiB
Nginx Configuration File
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;
|
|
}
|
|
}
|