Nginx配置用户认证

作者:阿豪 分类:学无止境

# vim /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

image.png

记得设置个默认页面不然会出现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;  
  }


Linux Nginx 

非特别申明,本博文章均系博主原创或整理加工。

转载请注明文章出处:https://www.ahaoyw.com/article/89.html

创作不易,觉得有用请打个赏吧。
扫一扫,加我为微信好友加我为微信好友