nginx 用户访问站点输入用户名密码验证
httpd是apache自带的程序,用nginx的话,需要安装。
1:安装httpd
yum install -y httpd #centos
如果是ubuntu
apt search htpasswd #查找一下
apt install apache2-utils #安装
2:生成用户名和密码(假设用户名:user;密码:123)
htpasswd -b -c nginx_passwd user 123
执行成功,这样会在当前目录下生产一个nginx_passwd 的文件,此文件包含了用户名和密码,查看一下
这是刚才生成的验证文件
3:配置nginx
(1):虚拟主机验证:用户访问某个域名,提示输入用户名密码
很简单,把上述生成的nginx_passwd文件加入到nginx的server段即可
auth_basic "验证"; auth_basic_user_file /usr/local/nginx/conf/vhosts/nginx_passwd;
然后重启nginx
这时候就要输入用户和密码才能进入
(2):访问某个目录认证
在某个server下的file目录
location /file/ { auth_basic "验证"; auth_basic_user_file /usr/local/nginx/conf/vhosts/nginx_passwd; }
重启nginx