问:我希望能够仅为那些包含请求中特定标头的请求启用基本身份验证.
使用案例:仅对请求通过LB的某些客户端进行身份验证(并匹配LB设置的标头).
我尝试使用IF指令,但它没有成功. Anynone有一个小配置示例,说明如何实现这一目标?
最佳答案
根据
原文链接:https://www.f2er.com/nginx/435624.htmlauth_basic
指令的文档,您不能在if块中使用该指令,但可以将变量用作值.
因此,使用映射来测试特定条件并使用结果变量.
map $http_
< header_name>必须使用小写字母和下划线而不是破折号替换标题的名称(例如,My-Header变为$http_my_header)