upstream crate_server { zone crate_server 64k; resolver ${NGINX_LOCAL_RESOLVERS} valid=5s; resolver_timeout 5s; server server:3030 resolve; } server { listen 80; server_name _; root /usr/share/nginx/html; location / { try_files $uri $uri/index.html =404; } location /_astro/ { add_header Cache-Control "public, max-age=31536000, immutable"; } location ~ ^/(api/|oauth/|oauth-client-metadata.json$|health$) { proxy_pass http://crate_server; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_request_buffering off; proxy_connect_timeout 5s; proxy_read_timeout 300s; client_max_body_size 0; } error_page 404 /404.html; }