一.引言
什么是 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:删除指定的用户
|
本篇文章到这里就结束了,感谢大家的支持!