0

我正在尝试使用 nginx ngx_http_auth_request_module 模块对客户端请求进行身份验证,但无法将身份验证参数转发给身份验证服务器

下面是我正在使用的 nginx 配置

 http {
        upstream myapp {
                server localhost;
        }
        include       mime.types;
        default_type  application/octet-stream;
        server {
                listen       80;
                server_name  localhost;
                    location /{
                        auth_request     /auth;
                        location = /auth {
 internal;
                                proxy_method POST;
                                proxy_pass              "http://192.168.26.100:1985/resource";
                                proxy_pass_request_body off;
                                proxy_set_header        Content-Length "";
                                proxy_set_header        X-Original-URI $request_uri;
                                proxy_set_header Host       $http_host;
                               # proxy_set_body $auth_foo;
                                #auth_request_set $auth_foo $upstream_http_foo;
                                #proxy_set_header x-user $user;
                                #proxy_set_header Host $http_host;
                                proxy_set_header X-Real-IP $remote_addr;
                                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        }
                }
        }

我尝试了默认的proxy_method(GET),然后我将其更改为POST,但没有任何用处,有什么方法可以将凭据传递给身份验证服务器,以便我可以验证用户是否被授权,这里http://192.168 .26.100:1985/resource是认证服务器 url

谢谢

4

0 回答 0