使用 nginx时,auth_request
只接受 4 个返回码:2xx
、401
和. 处理这些需要设置。这很好,但所有返回这些代码的下游应用程序最终都将使用相同的处理方式。403
500
error_page
auth_request
error_page
示例:
location /test {
auth_request /foo;
error_page 500 /its-broke.html;
proxy_pass http://bar;
}
如果auth_request
返回,则显示 its-broke.html /foo
。500
这是我想要的行为。但是,如果bar
返回500
its-broke.html 也会显示。我不想要这个。相反,我希望bar
将500
错误响应传输到浏览器。
auth_request
会抓住任何5xx
并处理它500
,所以我不能只拥有foo
return 520
。这会导致以下错误,并且500
无论如何都会返回:
auth request unexpected status: 520 while sending to client
有什么想法可以解决这个问题吗?在代理通过之前,我也找不到取消设置 error_page 的方法。