server { listen 80; server_name _; root /var/www/maxun; index index.html; # Serve the frontend location / { try_files $uri $uri/ /index.html; } # Proxy for backend location ^/(auth|storage|record|workflow|robot|proxy|api-docs)(/|$) { 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; } }