我们使用 proxy_intercept_errors (http://wiki.nginx.org/HttpProxyModule#proxy_intercept_errors) 与我们的后端。
我们拦截了许多状态代码,包括一些 5xx 代码。
我们的 5xx(每个 500 都有自己的)处理程序有一个 access_log,因此我们可以以干净的记录格式看到返回给用户的所有 5xx 错误。
问题在于,就目前情况而言,我们无法判断 5xx 是由 nginx 返回给用户还是被我们的后端拦截。
有什么方法可以区分这两者吗?
谢谢。
答案1
500 对于 nginx 本身来说是一个比较严重的错误,所以它总是会记录到错误日志中。如果错误是从后端返回的,则不会发生这种情况。