有关nginx的用户验证

回复 收藏
配置文件如下
[root@linux2 vhosts]# vi zgf890213.conf
server
{
    listen 80;
    server_name www.zgf890213.com;
    index index.html index.htm index.php;
    root /data/www/www1;


location ~ .*admin\.php$ {
        auth_basic "aminglinux auth";
        auth_basic_user_file /usr/local/nginx/conf/.htpasswd;
        include fastcgi_params;
        fastcgi_pass unix:/tmp/www.sock;
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/www/www1$fastcgi_script_name;
        }


    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/www.sock;
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/www/www1$fastcgi_script_name;
    }

}想问下绿色和红色那段顺序有关系吗?我一开始把绿色那段写在红色那段后面,发现用户验证没有生效,后来把绿色那段改放到红色那段后面就生效了!



2016-08-22 00:08 举报
已邀请:
0

乐橙306

赞同来自:

本帖最后由 乐橙306 于 2016-8-22 09:30 编辑

有关系  ,它涉及到location的 匹配规则,规则如下:
首先匹配 =,其次匹配^~, 其次是按配置文件中先后顺序匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

你这里它是按照先后顺序匹配。

链接:
http://www.nginx.cn/doc/standard/httpcore.html
0

18038036038

赞同来自:

乐橙306 发表于 2016-8-22 09:19
有关系  ,它涉及到location的 匹配规则,规则如下:
首先匹配 =,其次匹配^~, 其次是按配置文件中先后顺 ...

明白了!!非常感谢

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: