Solid reverse-proxy + LB setup. Two small ops notes that bite in production: set proxy_http_version 1.1 and clear Connection so upstream keepalive actually reuses sockets (otherwise every request opens a fresh one). And for least_conn/round-robin, add a cheap health check path on the Node side and fail the upstream with max_fails=3 fail_timeout=10s so a crashed replica drops out instead of 502-ing half the traffic.