我有一个auth_request
像这样的位置块
location /somepath {
auth_request /authorize;
auth_request_set $header_variable $upstream_http_custom_header;
proxy_path http://backendaddress;
}
我想要做的是,如果$header_variable
与特定的正则表达式不匹配,我想返回一个 403 代码。
if
不会工作,因为它运行得太早了。还有什么可以让我这样做吗?
Nginx 模块auth_request等待来自后端的 200 或 401/403 HTTP 代码:
您的请求有一个需要检查权限的标头:
在身份验证请求/响应周期期间,您的后端需要检查标头并返回 403 代码,以防止在没有身份验证的情况下发生下一个请求。模块auth_request作为一个简单的测试断言,它返回一个代码。这确实意味着负责此 URL 回复http://backendaddress/authorize的后端进程需要对所需的标头进行额外检查。