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],我们会很快的为您处理。