nginx returns 503 when it gets 403 from haproxy

Валентин Бартенев vbart at
Fri Apr 15 20:49:05 UTC 2016

On Thursday 14 April 2016 22:45:36 CJ Ess wrote:
> In my environment I have Nginx terminating connections, then sending them
> to an HAProxy upstream. We've noticed that whenever HAProxy emts a 403
> error (Forbidden, in response to our ACL rules), NGINX reports a 503 result
> (service unavailable) and I believe is logging an "upstream prematurely
> closed connection while reading response header from upstream" error
> message in the nginx error log.
> What I'd really like to do is pass the 403 code back to the user - what do
> I need to do?

That message suggests that haproxy closes connection before properly returning 
headers.  So nginx can't pass 403 since it can't get it right from haproxy.

You should check what is wrong with haproxy.

  wbr, Valentin V. Bartenev

More information about the nginx mailing list