一.引言
什么是 htpasswd ? (1)htpasswd是开源 http 服务器apache httpd的一个命令工具,用于生成 http 基本认证的密码文件。
 (2)nginx底层提供了 
HttpAuthBasic模块,这个模块支持最基本的http认证,这是http协议支持的。当你访问网站时候会弹出一个对话框要求你输入账号密码,只要输入正确才能访问对应的网站。
如果认证失败会怎么样 ? 这样做的目的是什么 ?
这样做的目的是什么 ? (1)为了禁止访问特殊的网页(这里暂时还没了解到特殊的用法…之后再补充)
 (2)是的,我用这个的原因是为walle项目安全考虑的,因为walle官方推荐为了安全尽量放在内网(这里应该是为了防止暴力破解),之前的的博文也有讲到可以使用双向认证,但是对初学者而言是很不友好、有点麻烦的,那么这个htpasswd就非常之简单了,就是敢敢单单。哎!坐下坐下这是基操。
二.安装&&配置
 第一步:检测是否已经安装了 httpd
| 12
 3
 4
 5
 6
 
 | #httpd -vServer version: Apache/2.4.6 (CentOS)
 Server built:   Apr 24 2019 13:45:48
 
 #没安装的执行
 #yum -y install httpd
 
 | 
 第二步:创建用户
| 12
 3
 4
 5
 6
 
 | #这里必须是nginx的安装目录.passwd后面是 账号 密码
 #htpasswd -bc /etc/nginx/.passwd daichongweb daichongweb
 #生成成功:Adding password for user daichongweb
 
 #注意:不同的机子可能nginx下的文件不同有的人是.htpasswd
 
 | 
 第三步:nginx配置
| 12
 3
 4
 
 | location  /  {auth_basic            "这里随意起个名字";
 auth_basic_user_file  /etc/nginx/.passwd;#这里是nginx安装目录下的密码文件
 }
 
 | 
 第四步:检测配置&&重启服务
| 12
 3
 4
 5
 6
 7
 
 | #nginx -t
 #nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 #nginx: configuration file /etc/nginx/nginx.conf test is successful
 
 #重启
 #nginx -s reload
 
 | 
 第五步:访问域名测试

三.其他操作
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 
 | #删除用户#htpasswd -D /etc/nginx/.passwd daichongweb
 
 #修改密码
 #htpasswd -d /etc/nginx/.passwd daichongweb123
 
 #其他命令
 -c:创建一个加密文件
 -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上
 -m:默认采用MD5算法对密码进行加密
 -d:采用CRYPT算法对密码进行加密
 -p:不对密码进行进行加密,即明文密码
 -s:采用SHA算法对密码进行加密
 -b:在命令行中一并输入用户名和密码而不是根据提示输入密码
 -D:删除指定的用户
 
 |