我想使用多个auth_request
指令来尝试在多个服务器上进行身份验证 - 即如果第一个身份验证服务器返回403
,则尝试第二个身份验证服务器。 我尝试了一种简单的方法,像这样:
location /api {
satisfy any;
auth_request /auth-1/;
auth_request /auth-2/;
proxy_pass http://api_impl;
}
location /auth-1/ {
internal;
proxy_pass http://auth_server_1;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
location /auth-2/ {
internal;
proxy_pass http://auth_server_2;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
但是nginx无法解析配置文件。我收到了以下响应
nginx: [emerg] "auth_request" directive is duplicate
有没有一种方法可以在nginx中实现这样的功能?