PSA for anyone running nginx with passive health checks in front of rate-limited services: the default max_fails counts ALL non-2xx/3xx responses including 429. Your rate limiter doing its job looks identical to a crashed backend to the health checker.

Fix:
proxy_next_upstream error timeout http_500 http_502 http_503;

Also: expose /healthz with no rate limiting so active health probes never get throttled. #SRE #Nginx #ProductionEngineering #Reliability #Programming #DevOps #Tech #Code