server { listen 80; listen [::]:80; server_name {{ tileserver_domain }}; location /.well-known/acme-challenge { default_type "text/plain"; alias /var/www/acme-challenge; } location / { return 301 https://{{ tileserver_domain }}$request_uri; } } proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=tilecache:20m inactive=7d max_size=2g; server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name {{ tileserver_domain }}; ssl_certificate_key /etc/nginx/ssl/{{ tileserver_domain }}.key; ssl_certificate /etc/nginx/ssl/{{ tileserver_domain }}.crt; location ~ /d/(.*\.png|.*\.webp) { proxy_pass http://127.0.0.1:8080/styles/day/$1; proxy_cache tilecache; proxy_cache_background_update on; # proxy_cache_lock on; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_cache_valid 200 7d; proxy_cache_valid any 1m; proxy_ignore_headers Expires Cache-Control; expires 7d; } location ~ /n/(.*\.png|.*\.webp) { proxy_pass http://127.0.0.1:8080/styles/night/$1; proxy_cache tilecache; proxy_cache_background_update on; # proxy_cache_lock on; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_cache_valid 200 7d; proxy_cache_valid any 1m; proxy_ignore_headers Expires Cache-Control; expires 7d; } }