# ERB templated nginx configuration # see https://doc.scalingo.com/platform/deployment/buildpacks/nginx upstream backend_server { server localhost:8000 fail_timeout=0; } server { listen <%= ENV["PORT"] %>; server_name _; server_tokens off; root /app/build/frontend-out; # Django rest framework location ^~ /api/ { proxy_set_header X-Forwarded-Proto https; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; proxy_pass http://backend_server; } # Django admin location ^~ /admin/ { proxy_set_header X-Forwarded-Proto https; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; proxy_pass http://backend_server; } # Serve static files with caching location ~* ^/assets/.*\.(css|js|json|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { expires 30d; add_header Cache-Control "public, max-age=2592000"; } # Serve static files location / { try_files $uri $uri/ /index.html; # Add no-cache headers add_header Cache-Control "no-cache, no-store, must-revalidate"; add_header Pragma "no-cache"; # HTTP 1.0 header for backward compatibility add_header Expires 0; } # Optionally, handle 404 errors by redirecting to index.html error_page 404 =200 /index.html; }