Nginx首次配置访问密码报错htpasswd: password verification error

Posted 文殊师利法王子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx首次配置访问密码报错htpasswd: password verification error相关的知识,希望对你有一定的参考价值。

nginx首次配置访问密码报错htpasswd: password verification error
为了避免同胞们重复这个踩坑,本人花点时间写个博文提醒一下大家

系统:CentOS 7.6
Nginx: 1.12.2
SSH连接软件:SecureCRT

一,出错现场回忆:

下方是我首次配置(刚安装完httpd-tools)访问用户名和密码,安装教程可以参照Nginx配置密码访问-访问网页需输入用户名密码

密码文件:passwd
用户名是:feifu
第1次密码是:pass
弟2次密码是:pass

报错:htpasswd: password verification error

二,突然奇想,直接把回车当密码

密码文件:passwd
用户名是:feifu
第1次密码是:Enter键
弟2次密码是:Enter键

报对:
Adding password for user feiyu
You have mail in /var/spool/mail/root

这下竟然成功了,这是什么奇迹啊?

三,正式创建

新建密码文件和用户名,并重新配置Nginx的 /usr/local/nginx/conf/nginx.conf文件
密码文件:password
用户名是:username
第1次密码是:pass
弟2次密码是:pass

Nginx的配置:

# vim /usr/local/nginx/conf/nginx.conf


 # 访问密码限制设置
 auth_basic "请输入用户名和密码";
 auth_basic_user_file /usr/local/nginx/password; # 认证文件

重启Nginx:

# nginx -r reload

访问:

至此配置成功。

四,总结

为什么这次配置会出现htpasswd: password verification error这个错误,个人觉得问题在于初始化,也就是说,不输入密码,直接回车是对密码配置的初始化,这样之后新配置的用户名和密码无论怎么自定义都是可以的了。在Linux中,很多软件的密码都是以回车作为初始化的(以个人学习Linux的经历来说)。

以上是关于Nginx首次配置访问密码报错htpasswd: password verification error的主要内容,如果未能解决你的问题,请参考以下文章

nginx反向代理时配置访问密码

Nginx认证

nginx访问控制

nginx篇最初级用法之访问认证

nginx配置用户名密码来控制访问请求

Nginx用户认证配置