Acho que é porque o nginx não está detectando que o upstream está inativo porque está na mesma máquina.
As opções que você está procurando são: proxy_next_upstream e proxy_connect_timeout .
Tente isto:
location / {
proxy_pass http://lb;
proxy_redirect off;
proxy_next_upstream error timeout invalid_header http_500;
proxy_connect_timeout 2;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}