# nginx configuration for tar1090 location /INSTANCE/data/ { alias SOURCE_DIR/; gzip_static off; location ~ aircraft\.json$ { add_header Cache-Control "no-cache"; gzip on; gzip_static on; } location /INSTANCE/data/traces/ { location ~ trace_recent { gzip off; add_header Cache-Control "no-cache"; add_header Content-Encoding "gzip"; } location ~ trace_full { gzip off; add_header Cache-Control "no-cache"; add_header Content-Encoding "gzip"; } } location ~ globe_.*\.json$ { gzip off; add_header Cache-Control "no-cache"; add_header Content-Encoding "gzip"; } location ~ .*\.binCraft$ { gzip off; add_header Cache-Control "no-cache"; add_header Content-Encoding "gzip"; } location ~ .*\.zst$ { gzip off; add_header Cache-Control "no-cache"; } } location /INSTANCE/osm_tiles_offline/ { alias /usr/local/share/osm_tiles_offline/; } location /INSTANCE/openfreemap_offline/ { alias /usr/local/share/openfreemap_offline/mnt/; location /INSTANCE/openfreemap_offline/tiles/ { add_header Content-Encoding "gzip"; } } location /INSTANCE/globe_history/ { alias /var/globe_history/; gzip on; gzip_static off; location ~ /acas/ { default_type text/plain; add_header Cache-Control "no-cache"; gzip_static on; } location ~ ....-..-.. { absolute_redirect off; rewrite "^(.*)/globe_history/(....)-(..)-(..)/(.*)$" "$1/globe_history/$2/$3/$4/$5" last; } location ~ traces/ { gzip off; add_header Cache-Control "public, max-age=1209600"; add_header Content-Encoding "gzip"; } location ~ heatmap/ { gzip off; add_header Cache-Control "public, max-age=1209600"; add_header Content-Encoding "gzip"; } } location /INSTANCE/chunks/ { alias /run/SERVICE/; gzip_static off; location ~ chunk_.*\.gz$ { gzip off; add_header Cache-Control "public, max-age=86400"; add_header Content-Type "application/json"; add_header Content-Encoding "gzip"; } location ~ current_.*\.gz$ { gzip off; add_header Cache-Control "no-cache"; add_header Content-Type "application/json"; add_header Content-Encoding "gzip"; } location ~ .*\.json$ { gzip on; add_header Cache-Control "no-cache"; } } location /INSTANCE/aircraft_sil/ { alias /usr/local/share/tar1090/aircraft_sil/; add_header Cache-Control "public, max-age=1209600"; try_files $uri /aircraft_sil/ZZZZ.png; absolute_redirect off; } location /INSTANCE { alias HTMLPATH/; try_files $uri $uri/ =404; absolute_redirect off; # location block priority: # = / exact location matches > regex matches > prefix matchs # exact matches location = /INSTANCE/config.js { add_header Cache-Control "no-cache"; } location = /INSTANCE/index.html { add_header Cache-Control "no-cache"; } # regex matches location ~ ^/INSTANCE/style.*\.css$ { add_header Cache-Control "public, max-age=7776000"; } location ~ ^/INSTANCE/db-.*\.js$ { gzip off; gzip_static off; add_header Cache-Control "public, max-age=7776000"; add_header Content-Encoding "gzip"; } location ~ ^/INSTANCE/libs/.*$ { add_header Cache-Control "public, max-age=7776000"; } location ~ ^/INSTANCE/[^/]*\.js$ { add_header Cache-Control "public, max-age=7776000"; } # prefix matches location /INSTANCE/images { add_header Cache-Control "public, max-age=7776000"; } location /INSTANCE/flags { add_header Cache-Control "public, max-age=7776000"; } }