如何匹配nginx中的所有位置,以获取身份验证?

时间:2012-08-24 02:46:27

标签: nginx

我需要一个表达式来匹配所有请求,无论如何。

这还不错吗?

location ~ ^/

我担心其他位置优先,绕过我的身份验证。

1 个答案:

答案 0 :(得分:13)

您可以将ngx_http_auth_basic_module设置放入以下任何一种情境中:

http, server, location, limit_except

您的版本

location ~ ^/

只有在server部分中没有其他声明的位置时才会有效 例如:

server {
    ... #some server settings
    location / { # full equivalent for "~ ^/"
        auth_basic on;
        auth_basic_user_file /path/to/some/file;
    }
    location /other_location {
        # here http_auth not inherited
    }
}

只需将http_auth设置放入server部分,并为此server描述的所有位置都会继承此设置。
例如:

server {
    ... # some server settings
    auth_basic on;
    auth_basic_user_file /path/to/some/file;
    location / {
        # HERE http_auth settings would be
        # inherited from previous configuration level. 
    }
}