Nginx authentication with auth_request module

后端 未结 1 1220
情话喂你
情话喂你 2020-12-16 05:03

i have installed nginx with auth_request module enabled, but i have a problem when i am trying to setup the authentication. I want to authenticate through a php script, when

相关标签:
1条回答
  • 2020-12-16 05:51

    The trick here is to combine auth_basic and auth_request, here is an example:

    location = /api {
            satisfy any;
            auth_basic "Restricted Access";
            auth_basic_user_file "/usr/local/nginx/htpasswd";
            auth_request /auth;
            try_files $uri $uri/ /api.html;
        }
    
        location = /auth {
           proxy_pass http://localhost:8080;
           proxy_pass_request_body off;
           proxy_set_header Content-Length "";
           proxy_set_header X-Original-URI $request_uri;
        }
    

    You will notice that auth_basic_user_file is present and you probably don't want it but you can leave a blank file, the satisfy any will accept any success, auth_basic will fail but will also set the user and password in the HTTP Headers that are forwarded to your backend script where you can handle them accordingly.

    0 讨论(0)
提交回复
热议问题