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;

默认:--

用于指定保存用户名和密码的文件,注意文件权限,chmod 400 file。

文件格式为:

name1:password1

name2:password2:comment

name3:password3

支持的密码类型:用crypt()函数加密,工具有htpasswd、openssl passwd

使用基于md5的密码算法的Apache变体(apr1)

使用htpasswd实现nginx的认证安装htpasswd,htpasswd是apache提供的密码生成工具

yuminstall httpd-tools -y

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.

创建用户密码文件

[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

配置nginx

location / {

auth_basic           "welcome";

auth_basic_user_file /etc/nginx/passwd.db;

}访问相关内容的时候将会认证

使用对应的用户名密码可以登录访问。

php ngx_http_auth_basic_module,nginx认证模块ngx_http_auth_basic_module相关推荐

  1. nginx 源码学习笔记(二)——nginx精粹-模块

    看了一点nginx的源码发现,nginx的模块思想确实吸引了我,也不得不佩服俄罗斯人的想问题方式,要分析nginx源码,首先要搞懂的就是nginx的模块思想以及相关的数据结构. 还记得我们上一次写的h ...

  2. Nginx 动态模块

    Nginx 动态模块 本节介绍如何在NGINX Plus中使用动态模块. 总览 NGINX Plus使用模块化架构.可以通过软件模块添加新功能,可以根据需要将其插入正在运行的NGINX Plus实例中 ...

  3. 谷粒商城笔记+踩坑(17)——【认证模块】登录,用户名密码登录+微博社交登录+SpringSession+xxl-sso单点登录

    导航: 谷粒商城笔记+踩坑汇总篇 目录 5. 用户名密码登录 5.1[认证模块]登录业务 5.1.1 模型类,接收用户名密码 5.1.2 feign客户端新增登录功能 5.1.3 LoginContr ...

  4. Django进阶-auth集成认证模块

    auth认证模块是Django内置集成的一个用户认证模块. auth认证模块方法 方法 释义 auth.authenticate() 认证校验 auth.login(request,user) 封装认 ...

  5. Nginx自定义模块编写:根据post参数路由到不同服务器

    Nginx可以轻松实现根据不同的url 或者 get参数来转发到不同的服务器,然而当我们需要根据http包体来进行请求路由时,Nginx默认的配置规则就捉襟见肘了,但是没关系,Nginx提供了强大的自 ...

  6. nginx strip模块优化页面

    为什么80%的码农都做不了架构师?>>>    nginx strip模块删除不必要的空格 在nginx官方wiki的第三方模块中看到nginx strip模块,简单的看下功能,大意 ...

  7. angular-oauth2 —— NG 的 OAuth2 认证模块

    angular-oauth2 详细介绍 angular-oauth2 是 AngularJS 的 OAuth2 认证模块,使用 ES6 编写. 使用方法: 引入 js 库: <script sr ...

  8. 《深入理解Nginx:模块开发与架构解析》一1.2 为什么选择Nginx

    1.2 为什么选择Nginx 为什么选择Nginx?因为它具有以下特点: (1)更快 这表现在两个方面:一方面,在正常情况下,单次请求会得到更快的响应:另一方面,在高峰期(如有数以万计的并发请求),N ...

  9. nginx自定义模块编写-实时统计模块--转载

    原文:http://www.vimer.cn/2012/05/nginx%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A8%A1%E5%9D%97%E7%BC%96%E5%86%99- ...

最新文章

  1. 面向初学者的10个热门计算机视觉项目
  2. from torch._C import * ImportError: DLL load failed 动态链接库(DLL)初始化例程失败
  3. python编程 pdf-Python书单推荐一波【内含PDF下载地址】
  4. 飞鸽传书FreeEIM买还是不买?
  5. unset是不能清除保存在本地电脑上的cookie的,用于session就可以(弄了半天原来是这样)...
  6. (转)Django ==== 实战学习篇九 在session中保存购物车
  7. 吴恩达《机器学习》 --- 神经网络
  8. OSGi运行环境下java反序列化问题的解决方式
  9. 构建QML项目报错:No rule to make target ‘**‘, needed by ‘debug/qrc_qml.cpp‘.
  10. C++实现FPS游戏辅助教程
  11. 解决报错:错误使用 xlsread未找到工作表 ‘sheet1‘
  12. 红米k20pro短接9008_拆解红米Redmi K20Pro,内部结果一目了然
  13. 【教程】Nexus、Pixel手机解锁bootloader+刷TWRP Recovery + 刷机(含修改ROM boot.img) + ROOT教程
  14. 申请Freenom免费顶级域名的正确做法
  15. 一份完整App运营推广计划方案
  16. viper4android fx 驱动,ViPER4Android FX 音效驱动社区版安
  17. 实现链表的插入——头插/尾插
  18. 专业的人做专业的事 VxRail助中通业务创新驶上“快车道”
  19. 如何选择第三方电子合同服务平台?
  20. Electron(基于Vue)中使用IPC

热门文章

  1. 如何更改Lollipop上最新Chrome版本的标题栏和地址栏的颜色?
  2. matlab转换为exe文件,MATLAB文件转为exe可执行文件(package使用)
  3. AT:AT命令控制上网 PDP
  4. c++ 写x64汇编 5参数_第9篇-C/C++ x86_64的函数栈
  5. 层叠性(HTML、CSS)
  6. JavaScript 面试总结
  7. JavaScript:异步执行机制
  8. 怎么设置java内存_如何修改jvm内存 内存设置过大
  9. idea常用设置_【收藏向】Intellij IDEA 使用法则(一) 设置
  10. Leecode-2 Add Two Numbers