2

我在 nginx 中使用 auth_request 模块作为身份验证模块。

location ~ ^/apigw/cws/(.*)$ {
        log_subrequest on;
        auth_request  /_sessionvalidate;
        auth_request_set $token $upstream_http_authorization;
        proxy_set_header Authorization $token;
        proxy_pass http://cws/$1$is_args$args;
}



location = /_sessionvalidate {
        internal;
        proxy_method POST;
        proxy_busy_buffers_size   512k;
        proxy_buffers   4 512k;
        proxy_buffer_size   256k;
        proxy_pass_request_body off;
        proxy_set_header Content-Length "";
        proxy_set_header X-Original-URI $request_uri;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://apigw/sessionValidate/;
}

这里的问题是当我尝试将 sessionvalidate 传递的令牌传递给 cws 上游服务器时

 proxy_set_header Authorization $token;

我收到 431 错误。我尝试在 server/http 指令中设置以下内容

        large_client_header_buffers 4 64k;
        client_header_buffer_size 16k;

但我仍然面临错误。我不确定如何确保增加上游请求的标头大小。请帮忙。

4

0 回答 0