server { listen 80; server_name _; root /usr/share/nginx/html; include /etc/nginx/mime.types; # Serve hashed assets aggressively; keep index/service worker cacheable but not immutable. location /assets/ { try_files $uri =404; expires 30d; add_header Cache-Control "public, max-age=2592000, immutable"; } location /icons/ { try_files $uri =404; expires 30d; add_header Cache-Control "public, max-age=2592000"; } location = /flutter_service_worker.js { add_header Cache-Control "no-cache"; try_files $uri =404; } location / { try_files $uri $uri/ /index.html; } }