nginx认证模块ngx_http_auth_basic_module
ngx_http_auth_basic_module模块基于“HTTP Basic Authentication“协议完成用户认证。
模块指令:
auth_basic auth_basic_user_file
这两个指令的应用范围:http,server,location,limit_except
示例:
location / { auth_basic "closedsite"; auth_basic_user_fileconf/htpasswd; }
auth_basic指令:
语法:auth_basic string | off;
默认:auth_basic off;
开启/关闭基于“HTTP Basic Authentication”协议的用户/密码认证。
auth_basic_user_file指令:
语法:auth_basic_user_file file;
默认:–
用于指定保存用户名和密码的文件,注意文件权限。
文件格式为:
name1:password1 name2:password2:comment name3:password3
支持的密码类型:
用crypt()函数加密,工具有htpasswd、openssl passwd
使用基于md5的密码算法的Apache变体(apr1)
使用htpasswd实现nginx的认证
1、安装htpasswd,htpasswd是apache提供的密码生成工具
yuminstall httpd-tools -y
2、htpasswd用法
$ htpasswd -h htpasswd:illegal option -- h Usage: htpasswd[-cimBdpsDv] [-C cost] passwordfile username htpasswd-b[cmBdpsDv] [-C cost] passwordfile username password htpasswd-n[imBdps] [-C cost] username htpasswd-nb[mBdps] [-C cost] username password -c Createa new file. -n Don'tupdate file; display results on stdout. -b Usethe password from the command line rather than prompting for it. -i Readpassword from stdin without verification (for script usage). -m ForceMD5 encryption of the password (default). -B Forcebcrypt encryption of the password (very secure). -C Setthe computing time used for the bcrypt algorithm (higheris more secure but slower, default: 5, valid: 4 to 31). -d ForceCRYPT encryption of the password (8 chars max, insecure). -s ForceSHA encryption of the password (insecure). -p Donot encrypt the password (plaintext, insecure). -D Deletethe specified user. -v Verifypassword for the specified user.
3、创建用户密码文件
[roger@test ~]$ htpasswd -c/etc/nginx/passwd.db xiaoming ###新创建密码文件 New password: Re-type new password: Adding password for user xiaoming [roger@test ~]$ htpasswd/etc/nginx/passwd.db xiaoli ###添加新的用户 New password: Re-type new password: Adding password for user xiaoli [roger@test ~]$ cat/etc/nginx/passwd.db ###查看文件内容格式 xiaoming:$apr1$OlmGwtmd$kG6fmWrQzCWEJGT/uWXsJ. xiaoli:$apr1$UNkIjCHM$5h6Gigl1q.IZbq6yODzAv1
4、配置nginx
location / { auth_basic "welcome"; auth_basic_user_file /etc/nginx/passwd.db; }
访问相关内容的时候将会认证
650) this. src="https://s5.51cto.com/wyfs02/M02/08/B3/wKiom1nl1oSDZw2SAAAZ63BET1Y888.png" title="TIM图片20171017180650.png" alt="wKiom1nl1oSDZw2SAAAZ63BET1Y888.png" />
使用对应的用户名密码可以登录访问。
原文出处:delphixe -> http://www.delphixe.net/2017/10/18/nginx%E8%AE%A4%E8%AF%81%E6%A8%A1%E5%9D%97ngx_http_auth_basic_module/
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。