server { listen 80; server_name _; location / { root /usr/share/nginx/html; try_files $uri $uri/ /index.html; } location /api { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; # Add timeout configurations proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; # Add error handling proxy_intercept_errors on; error_page 502 503 504 /50x.html; } location ~ ^/(record|workflow|storage|auth|integration|proxy|api-docs) { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'keep-alive'; # Ensure connections remain open proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; # Timeout configurations proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; # Error handling for these routes proxy_intercept_errors on; error_page 502 503 504 /50x.html; } }