Nginx:是否有可能从auth_request重新获得响应

时间:2015-07-15 13:14:14

标签: authentication nginx

我正在为nginx使用auth模块。 (http://nginx.org/en/docs/http/ngx_http_auth_request_module.html) 是否有可能以某种方式存储来自/ auth的响应,因此我可以将它作为请求主体发送到另一个端点。

location /private/ {
    auth_request /auth;
    proxy_pass ... 
    proxy_set_body 'Here I want to put /auth response. How?';
}

location = /auth {
    proxy_pass ...
}

1 个答案:

答案 0 :(得分:13)

简答:

不,你不能。

答案很长:

您无法将回复正文返回auth_request。您可以使用auth_request_set指令获取响应中返回的标头:

location / {
    auth_request /auth;
    auth_request_set $auth_foo $upstream_http_foo;
    proxy_pass ...
    proxy_set_body $auth_foo;
}

以上配置会将$auth_foo变量设置为auth子请求的Foo标头的值。