除nginx中列出的用户代理之外的所有基本身份验证

时间:2017-07-23 11:24:12

标签: nginx

written an analogous question关于Apache配置,但我也对nginx感兴趣。

是否可以在nginx配置中为除指定用户代理之外的所有用户要求基本身份验证?

1 个答案:

答案 0 :(得分:2)

经过几个晚上的研究和反复试验,我发现可以创建条件验证,将map指令与auth_basic指令的自定义变量结合起来:

map $http_user_agent $authentication {
    default "Access Restricted";
    "~^PayPal IPN" "off";
    # ...
}

server {
    # ...
    location / {
        auth_basic $authentication;
        auth_basic_user_file /etc/nginx/.htpasswd;
        # ...
    }
}