emqx-auth-httpemqx-auth-http (opens new window) - 图1 (opens new window)

auth.http.auth_req

TypeDefault
stringhttp://127.0.0.1:8991/mqtt/auth
说明

指定认证请求的目标 URL。

auth.http.auth_req.method

TypeOptional ValueDefault
enumget, postpost
说明

指定认证请求的请求方法。

auth.http.auth_req.params

TypeFormatDefault
string, 分隔的 k=v 键值对,v 可以是固定内容,也可以是占位符clientid=%c,username=%u,password=%P
说明

指定认证请求中携带的数据。使用 GET 方法时 auth.http.auth_req.params 的值将被转换为以 & 分隔的 k=v 键值对以查询字符串参数的形式发送。使用 POST 方法时 auth.http.auth_req.params 的值将被转换为以 & 分隔的 k=v 键值对以 Request Body 的形式发送。所有的占位符都会被运行时数据所替换,可用的占位符如下:

占位符替换内容
%u用户名
%cMQTT Client ID
%a客户端的网络 IP 地址
%r客户端使用的协议,可以是:mqtt, mqtt-sn, coap, lwm2m 以及 stomp
%P密码
%p客户端连接的服务端端口
%c客户端证书中的 Common Name
%d客户端证书中的 Subject

auth.http.super_req

TypeDefault
stringhttp://127.0.0.1:8991/mqtt/superuser
说明

指定超级用户认证请求的目标 URL。

auth.http.super_req.method

TypeOptional ValueDefault
enumget, postpost
说明

指定超级用户认证请求的请求方法。

auth.http.super_req.params

TypeFormatDefault
string, 分隔的 k=v 键值对,v 可以是固定内容,也可以是占位符clientid=%c,username=%u
说明

指定超级用户认证请求中携带的数据。使用 GET 方法时 auth.http.super_req.params 的值将被转换为以 & 分隔的 k=v 键值对以查询字符串参数的形式发送。使用 POST 方法时 auth.http.super_req.params 的值将被转换为以 & 分隔的 k=v 键值对以 Request Body 的形式发送。所有的占位符都会被运行时数据所替换,可用的占位符同 auth.http.auth_req.params

auth.http.acl_req

TypeDefault
stringhttp://127.0.0.1:8991/mqtt/acl
说明

指定 ACL 验证请求的目标 URL。

auth.http.acl_req.method

TypeOptional ValueDefault
enumget, postpost
说明

指定 ACL 验证请求的请求方法。

auth.http.acl_req.params

TypeFormatDefault
string, 分隔的 k=v 键值对,v 可以是固定内容,也可以是占位符access=%A,username=%u,clientid=%c,ipaddr=%a,topic=%t,mountpoint=%m
说明

指定 ACL 验证请求中携带的数据。使用 GET 方法时 auth.http.acl_req.params 的值将被转换为以 & 分隔的 k=v 键值对以查询字符串参数的形式发送。使用 POST 方法时 auth.http.acl_req.params 的值将被转换为以 & 分隔的 k=v 键值对以 Request Body 的形式发送。所有的占位符都会被运行时数据所替换,可用的占位符如下:

占位符替换内容
%A需要验证的权限,1 表示订阅,2 表示发布
%uMQTT Client ID
%c客户端标识符
%a客户端的网络 IP 地址
%r客户端使用的协议,可以是:mqtt, mqtt-sn, coap, lwm2m 以及 stomp
%m挂载点
%t主题

auth.http.request.timeout

TypeDefault
duration0s
说明

HTTP 请求超时时间。任何等价于 0s 的设定值都表示永不超时。

auth.http.request.connect_timeout

TypeDefault
duration0s
说明

HTTP 请求的连接超时时间。任何等价于 0s 的设定值都表示永不超时。

auth.http.request.retry_times

TypeDefault
integer3
说明

HTTP 请求失败时的重试次数。

auth.http.request.retry_interval

TypeDefault
duration1s
说明

HTTP 请求失败时的重试间隔。

auth.http.request.retry_backoff

TypeDefault
float2.0
说明

HTTP 请求失败时的重试间隔使用了指数退避算法,此配置项用于指定指数退避算法的退避系数。

auth.http.header.<Key>

TypeDefault
string-
说明

指定 HTTP 请求头部中的数据。<Key> 指定 HTTP 请求头部中的字段名,此配置项的值为相应的字段值。<Key> 可以是标准的 HTTP 请求头部字段,也可以自定义的字段,可以配置多个不同的请求头部字段。

示例
  1. auth.http.header.Accept = */*
  2. auth.http.header.Accept-Encoding = *

auth.http.ssl.cacertfile

TypeDefault
stringetc/certs/ca.pem
说明

CA 证书文件路径。

auth.http.ssl.certfile

TypeDefault
stringetc/certs/client-cert.pem
说明

客户端证书文件路径。

auth.http.ssl.keyfile

TypeDefault
stringetc/certs/client.key.pem
说明

客户端私钥文件路径。