How to distinguish if nginx generated a 504 error or upstream returned it?

Alex Flex aflexzor at
Tue Aug 20 22:43:40 UTC 2013

Hello !

I run nginx as a reverse proxy and send requests to an upstream server, 
the problem is according to my logs sometimes i start seeing this:

[499] [-] [0] [11602] [xx.126.55.81] [GET /weblogin/ HTTP/1.1]


[504] [-] [0] [11602] [xx.126.55.81] [GET /weblogin/ HTTP/1.1]

The first field is the  $status, the second is the 
$upstream_cache_status. So I know for a fact these two requests did go 
to the upstream server however what i dont know is who returned the 504 
and 499 codes. My server or the upstream ?

I know I can implement $request_time to try to "guess" using my timeouts 
and assume if they where generated below them that it may be the 
upstream that for whatever reason served the request with that code.

How can I be sure?


More information about the nginx mailing list