mod_auth_basic

模块简介

mod_auth_basic支持HTTP基本认证。

基础配置

配置描述

模块配置文件: conf/mod_auth_basic/mod_auth_basic.conf

配置项 描述
Basic.DataPath String
规则配置的的文件路径
Log.OpenDebug Boolean
是否开启 debug 日志
默认值False

配置示例

  1. [Basic]
  2. DataPath = mod_auth_basic/auth_basic_rule.data
  3. [Log]
  4. OpenDebug = false

规则配置

配置描述

配置项 描述
Version String
配置文件版本
Config Object
所有产品线的 HTTP 基本认证规则配置
Config{k} String
产品线名称
Config{v} Object
产品线下 HTTP 基本认证规则列表
Config{v}[] Object
HTTP基本认证规则
Config{v}[].Cond String
匹配条件, 语法详见Condition
Config{v}[].UserFile String
用户密码文件路径
Config{v}[].Realm String
安全域名称
默认值”Restricted”

用户密码文件说明:

  • 密码使用MD5、SHA1 或 BCrypt 进行哈希编码, 可使用 htpasswd、openssl 生成 userfile 文件
  • openssl 生成密码示例
    1. printf "user1:$(openssl passwd -apr1 123456)\n" >> ./userfile
  • 用户密码文件配置示例
    1. # user1, 123456
    2. user1:$apr1$mI7SilJz$CWwYJyYKbhVDNl26sdUSh/
    3. user2:{SHA}fEqNCco3Yq9h5ZUglD3CZJT4lBs=:user2, 123456

配置示例

  1. {
  2. "Config": {
  3. "example_product": [
  4. {
  5. "Cond": "req_host_in(\"www.example.org\")",
  6. "UserFile": "../conf/mod_auth_basic/userfile",
  7. "Realm": "example_product"
  8. }
  9. ]
  10. },
  11. Version": "20190101000000"
  12. }

监控项

监控项 描述
REQ_AUTH_RULE_HIT 命中基本认证规则的请求数
REQ_AUTH_CHALLENGE 命中规则、未携带AUTHORIZATION头的请求数
REQ_AUTH_SUCCESS 认证成功的请求数
REQ_AUTH_FAILURE 认证失败的请求数