Модули аутентификации Nginx порядок возврата - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть такая конфигурация nginx.

server {
    ...

    auth_basic 'closed';
    auth_basic_user_file /etc/nginx/htpassw;

    location = /authentication {
        proxy_method POST;
        proxy_pass http://auth-proxy/api/v1/token-verify/;
        proxy_pass_request_body off;
        proxy_set_header Content-Length "";
        proxy_set_header X-Original-URI $request_uri;
        proxy_set_header X-Original-METHOD $request_method;
    }

    location /location/ {
        satisfy any;
        auth_request /authentication;
        proxy_pass http://location-proxy/;
    }

}

И проблема в том, что auth-proxy может вернуть статус 401 или 403. Но похоже, что nginx игнорирует статус 403. Из-за сбоя базовой аутентификации.

Есть ли способ установить nginx conf в этом случае?

try basic auth;
if failed
  try auth_request and return status code from it;
...