前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx之Http模块系列之basicauth模块

Nginx之Http模块系列之basicauth模块

作者头像
yxxhero
发布2022-05-31 19:23:46
7400
发布2022-05-31 19:23:46
举报
文章被收录于专栏:DevOps充电宝

个人博客:https://www.aiopsclub.com/

basic_auth模块为 nginx 提供了“HTTP Basic Authentication“协议的支持。

1. 简介

ngx_http_auth_basic_module模块使得 nginx 可以通过使用“HTTP Basic Authentication”协议验证用户名和密码来限制对资源的访问。

2.实例

我们看一个实例,具体分析一下:

代码语言:javascript
复制
location / {
    auth_basic           "closed site";
    auth_basic_user_file conf/htpasswd;
}

以上的示例配置表示 nginx 将会在 localtion 匹配的请求中开启 BasicAuth 支持,realm 为"closed site",用户名和密码文件为 conf/htpasswd.

3.配置格式

代码语言:javascript
复制
Syntax: auth_basic string | off;
Default:
auth_basic off;
Context:    http, server, location, limit_except

启用基于“HTTP Basic Authentication”协议的用户名和密码的验证。指定的参数 string 用作领域,参数值可以包含变量(1.3.10、1.2.7),特殊值 off 取消了从先前的配置级别auth_basic指令效果的继承。

代码语言:javascript
复制
Syntax: auth_basic_user_file file;
Default: —
Context: http, server, location, limit_except

指定以下保存用户名和密码的文件,格式如下:

代码语言:javascript
复制
# comment
name1:password1
name2:password2:comment
name3:password3

file 参数可以包含变量。

密码类型可以是三种类型:

  • 用 crypt()函数加密;可以通过使用 Apache HTTP Server 发行版中的htpasswdopenssl passwd命令生成。
  • 使用基于 MD5 的密码算法(apr1)的 Apache 变体进行哈希处理;可以使用相同的工具生成;
  • 由 RFC2307 中所述的“{scheme} data”语法(1.0.3+)指定;当前实施的方案包括 PLAIN(一个示例, 不应使用),SHA(1.3.13)(普通的 SHA-1 哈希, 不应使用)和 SSHA(基于 salt 的 SHA-1 哈希,主要被默写软件包使用, 特别是 OpenLDAP 和 Dovecot)。

4.总结

ngx_http_auth_basic_module可以帮助我们在 http 资源没有任何保护的情况下,添加基础的认证。在某些业务条件下,非常有用。

- END -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps充电宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 简介
  • 2.实例
  • 3.配置格式
  • 4.总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档