Dai Chong's blog

一.引言

什么是 htpasswd ?
 (1)htpasswd是开源 http 服务器apache httpd的一个命令工具,用于生成 http 基本认证的密码文件。
 (2)nginx底层提供了 HttpAuthBasic模块,这个模块支持最基本的http认证,这是http协议支持的。当你访问网站时候会弹出一个对话框要求你输入账号密码,只要输入正确才能访问对应的网站。
如果认证失败会怎么样 ?


这样做的目的是什么 ?
 (1)为了禁止访问特殊的网页(这里暂时还没了解到特殊的用法…之后再补充)
 (2)是的,我用这个的原因是为walle项目安全考虑的,因为walle官方推荐为了安全尽量放在内网(这里应该是为了防止暴力破解),之前的的博文也有讲到可以使用双向认证,但是对初学者而言是很不友好、有点麻烦的,那么这个htpasswd就非常之简单了,就是敢敢单单。哎!坐下坐下这是基操。

二.安装&&配置


 第一步:检测是否已经安装了 httpd
1
2
3
4
5
6
#httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Apr 24 2019 13:45:48

#没安装的执行
#yum -y install httpd

 第二步:创建用户
1
2
3
4
5
6
#这里必须是nginx的安装目录.passwd后面是 账号 密码

#htpasswd -bc /etc/nginx/.passwd daichongweb daichongweb
#生成成功:Adding password for user daichongweb

#注意:不同的机子可能nginx下的文件不同有的人是.htpasswd

 第三步:nginx配置
1
2
3
4
location  /  {
auth_basic "这里随意起个名字";
auth_basic_user_file /etc/nginx/.passwd;#这里是nginx安装目录下的密码文件
}

 第四步:检测配置&&重启服务
1
2
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

 第五步:访问域名测试

三.其他操作


1
2
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:删除指定的用户

本篇文章到这里就结束了,感谢大家的支持!

 评论