server { listen 80; server_name localhost; root /usr/share/nginx/html; index index.html; # GZIP Configuration gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level ${GZIP_COMPRESSION_LEVEL}; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_min_length 256; gzip_types application/atom+xml application/geo+json application/javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-javascript application/x-web-app-manifest+json application/xhtml+xml application/xml font/eot font/opentype font/otf font/ttf image/bmp image/svg+xml image/vnd.microsoft.icon image/x-icon text/cache-manifest text/calendar text/css text/javascript text/markdown text/plain text/xml text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; # Cache control headers location ~* \.(html)$ { add_header Cache-Control "${HTML_CACHE_CONTROL}" always; } location ~* \.(css|js)$ { add_header Cache-Control "${ASSETS_CACHE_CONTROL}" always; } location ~* \.(jpg|jpeg|png|gif|ico|svg|woff|woff2|ttf|eot)$ { add_header Cache-Control "${MEDIA_CACHE_CONTROL}" always; } # Handle SPA routing location / { try_files $uri $uri/ /index.html; } }