nginx location auth_basic 配置
使用 nginx 作为前端服务器。某些资源要保护。用 http auth basic 认证简单方便。
nginx 的 http auth basic 的密码是用 crypt(3) 加密的。
具体可以参考:http://wiki.nginx.org/HttpAuthBasicModule
以我们做一个简单的后台管理为例, 地址:http://xxxx/admin/*, 对admin 下面的文件进行权限管理;
1. 进入ngnix配置的地址,以我的CentOS为例;
cd /usr/local/nginx/conf
2. 使用命令生成passfile 文件:
a. 使用htpasswd:
htpasswd -c -d /usr/local/nginx/conf/pass_file username
输入以上命令,回车输入密码,再次回车,输入确认密码
cat /usr/local/nginx/conf/pass_file
username:xyJkVhXGAZ8tM
b. 使用openssl:
printf "ttlsa:$(openssl passwd -crypt 123456)\n" >>/usr/local/nginx/conf/pass_file
cat /usr/local/nginx/conf/pass_file
ttlsa:xyJkVhXGAZ8tM
账号:ttlsa
密码:123456
reload nginx
4. 修改ngnix 配置
5. 重启ngnix ,sudo service nginx reload
6. 登录 http://xxxx/admin/*,弹出验证框,说明验证配置完成
如果admin中有php,就会发现 php url不能正常的解析,我们需要重新配置,配置如下:
修改配置,重启ngnix即可,php文件显示正常
7.除此之外,我们还可以对单个文件配置验证,例如Wordpress的wp-login.php
LNMP一键安装的/vhost/配置文件范例
设置完成以后效果如下