ansible-ffrgb/roles/tileserver/templates/vhost.j2

58 lines
1.3 KiB
Django/Jinja

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://$host$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;
}
}