这里的认证针对特殊页面来配置, 如网站的管理员登录页面,因为比较重要就需要多重加密。
实现二次认证,针对一些重要的目录(后台地址)
[root@CentOS-1 ~]# yum -y install httpd-tools.x86_64
[root@CentOS-1 ~]# cd /etc/nginx/conf.d/
[root@CentOS-1 ~]# htpasswd -c pass.db adm 添加设置帐户adm, 在此目录下生成了pass.db 文件
[root@CentOS-1 ~]# vim bbs.aminglinux.cc.conf
auth_basic “User Authentication”;
auth_basic_user_file /etc/nginx/conf.d/pass.db; ============添加此配置文件
这里需要注意,这两条命令放置的位置决定了它起作用的范围,如果放到全局位置,那么所有的访问都需要验证,但是这显然是不行的,需要在指定的location下放置这两条命令。
location ~admin.php {
21 auth_basic “User Authentication”;
22 auth_basic_user_file /etc/nginx/conf.d/pass.db;
23 fastcgi_pass 127.0.0.1:9000;
24 fastcgi_index index.php;
25 fastcgi_param SCRIPT_FILENAME /data/wwwroot/bbs.aminglinux.cc$fastcgi_script_name;
26 include fastcgi_params;
27
28 }
补充:
nginx location优先级:
location / 优先级比 location ~ 要低,也就是说,如果一个请求(如,aming.php)同时满足两个location
location /amin.php
location ~ *.php$
会选择下面的
nginx location 文档: https://github.com/aminglinux/nginx/tree/master/location