我需要一些指导来将静态头传递给nginx中的auth_request
我的位置配置如下:
location = /auth {
internal;
proxy_pass http://authserver.com:8009/auth;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
我的子请求如下所示:
location = /app/finance/ {
proxy_pass_request_headers on;
# Custom header to be added
proxy_set_header CallType "MAJOR";
auth_request /auth;
error_page 401 =401 /auth;
proxy_pass http://myaddservice.com:8080/finance/;
}
我需要将CallType标头传递给auth_request。我尝试过使用add_header、proxy_set_header,但没有成功
我有一个Rest Api要在auth_request后面进行身份验证,它需要CallType标头
我不能让它作为api头的一部分通过,因为它是一个内部进程。
你可以试试这个:
location = /auth {
internal;
proxy_pass http://authserver.com:8009/auth;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
proxy_set_header CallType $calltype;
}
location = /app/finance/ {
set $calltype "MAJOR";
proxy_pass_request_headers on;
auth_request /auth;
error_page 401 =401 /auth;
proxy_pass http://myaddservice.com:8080/finance/;
}
如果将从其他位置调用auth请求,则$calltype
变量将具有空值,并且根本不会设置CallType
标头(如果将空值作为参数传递给add_header
或proxy_set_header
指令,nginx不会设置标头(。