Nginx基于用户名和密码的认证访问控制

本文介绍了如何在Nginx中实现基于用户名和密码的访问控制,包括安装htpasswd工具,创建包含用户名和8位密码的文件,修改Nginx配置以启用认证,并在配置完成后重启Nginx。此外,还提到了htpasswd命令的选项参数及其用法。
摘要由CSDN通过智能技术生成

安装 htpasswd

yum -y install httpd-tools

设置用户名和密码文件,有一点需要注意htpasswd有效密码长度只有8位

htpasswd -c /usr/local/nginx/conf/passwd cuber
New password:
Re-type new password:
Adding password for user cuber

修改 nginx 配置文件

vi nginx.conf

server {
   listen 80;
   server_name  localhost;
   # ...

   # 新增两行
   auth_basic "password";
   auth_basic_user_file /usr/local/nginx/conf/passwd;

   location /{
   # ...
}

重启 nginx

./nginx -t
./nginx -s reload

测试认证

curl http://user:passwd@127.0.0.1

htpasswd选项参数

htpasswd [-cmdpsD] passwordfile username
htpasswd -b[cmdpsD] passwordfile username password
htpasswd -n[mdps] username
htpasswd -nb[mdps] username password

htpasswd命令选项参数说明

-c # 创建一个加密文件
-n # 不更新加密文件,只将htpasswd命令加密后的用户名密码显示在屏幕上
-m # 默认htpassswd命令采用MD5算法对密码进行加密
-d # htpassswd命令采用CRYPT算法对密码进行加密
-p # htpassswd命令不对密码进行进行加密,即明文密码
-s # htpassswd命令采用SHA算法对密码进行加密
-b # htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码
-D # 删除指定的用户

同时输入用户名和密码

htpasswd -cb /usr/local/nginx/conf/passwd user12 'passwd123'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值