# vi /usr/local/nginx/conf/vhost/test.com.conf //写入如下内容
server {
listen 80;
server_name test.com;
index index.html index.htm index.php;
root /data/wwwroot/test.com;
location /{
auth_basic "Auth";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}
}因为做用户认证需要用到htpasswd命令,所以需要安装下apache
# yum install -y httpd
默认安装在/usr/bin目录下
# htpasswd -c /usr/local/nginx/conf/htpasswd ahao //生成一个新的密码文件并且写入用户
# htpasswd /usr/local/nginx/conf/htpasswd ahao //生成一个新的用户写入指定的密码文件里面
# /usr/local/nginx/sbin/nginx -t
# /usr/local/nginx/sbin/nginx -s reload
mkdir -p /data/wwwroot/test.com
# touch /data/wwwroot/test.com/index.html
测试curl -uahao:ahao -x127.0.0.1:80 test.com -I

记得设置个默认页面不然会出现403错误
还有密码文件和你生成的密码文件要在同一个目录不然也会403
#//匹配全局
location /{
auth_basic "Auth";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}
# //匹配以admin结尾的目录
location /admin/
{
auth_basic "Auth";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}
#贪婪匹配以admin.php开头的文件
location ~ admin.php
{
auth_basic "Auth";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}
