赞
踩
实现效果:
1、通过nignx访问的站点或目录,需要让用户输入用户名密码才能访问
2、在nginx下,提供了ngx_http_auth_basic_module模块实现让用户只有输入正常的用户名密码才允许访问web内容。默认情况下,
nginx已经安装了该模块,所以整体的一个过程就是先用第三方工具设置用户名、密码(其中密码已经加过密)让后保存到文件中,
接着在nginx配置文件中根据之前事先保存的文件开启访问验证:
对网站通过密码进行访问 有两种方法
一种是 通过 htpasswd
一种是 通过 openssl
「nginx密码访问所需离线包」https://www.aliyundrive.com/s/1aJ3dAZ3JiB 提取码: q3u8 点击链接保存,或者复制本段内容,打开「阿里云盘」APP
httpd-tools-2.4.6-88.el7.centos.x86_64.rpm
在线安装
安装htpasswd工具:
(yum安装):
yum -y install httpd-tools
离线安装
rpm -ivh httpd-tools-2.4.6-88.el7.centos.x86_64.rpm
依赖于:
apr-1.4.8-7.el7.x86_64.rpm
apr-util-1.5.2-6.el7.x86_64.rpm
设置用户名和密码,并把用户名和密码保存到指定文件中:
htpasswd -c 密码文件保存路径 用户名
htpasswd -c /etc/nginx/conf.d/passwd.db hbhs
若该命令成功则会让其输入两遍密码。
cat /etc/nginx/conf.d/passwd.db
显示hbhs:$apr1$/ToVEbrO$vejTUiS6UTDVIVGZBMDhJ/
其中hbhs是用户名,分号后面就是密码(密码已经加过密)
找到nginx配置文件所在位置文件中server中location添加:
密码提示语|密码文件路径
auth_basic "Username and Password are required";
auth_basic_user_file /etc/nginx/conf.d/passwd.db;
需要对server限制访问也可加在server模块
验证配置文件是否正确
nginx -t
重启服务
nginx -s reload
nginx服务器上一般自带了 openssl
在nignx的conf目录,通过以下命令新建 passwd密码文件
用户名为 test,密码为 abcd123456
echo -n "test:" > passwd
openssl passwd abcd123456 >> passwd
找到nginx配置文件所在位置文件中server中location添加:
密码提示语|密码文件路径
auth_basic "Username and Password are required";
auth_basic_user_file /nginx-1.12.2/conf/passwd;
需要对server限制访问也可加在server模块
验证配置文件是否正确
nginx -t
重启服务
nginx -s reload
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。