配置手册
listeners
类型 Struct(listeners)
tcp
类型 Map($name->OneOf(Struct(mqtt_tcp_listener),String("marked_for_deletion")))
描述 TCP 监听器。
mountpoint
类型 String
默认值 ""
描述 发布或订阅时,请在所有主题前面加上 mountpoint 字符串。
将消息传递给订阅者时,将从主题名称中删除带前缀的字符串。挂载点是一种用户可以用来实现不同侦听器之间消息路由隔离的方法。
例如,如果客户机 A 使用
listeners.tcp.<name>.mountpoint
设置为'some_tenant',那么客户端实际上订阅了主题'some_tenant/t'。
类似地,如果另一个客户端 B(与客户端 A 连接到同一个侦听器)向主题 't' 发送消息,该消息将路由到所有订阅了'some_租户/t'的客户端,因此客户端 A 将接收主题名为't'的消息设置为
""
以禁用该功能mountpoint 字符串中的变量:
${clientid}
: clientid${username}
: username
tcp_options
类型 Struct(tcp_opts)
keepalive
类型 String
默认值 none
描述 为 MQTT 连接在 TCP 或 SSL 上启用 TCP 保活。 值是以逗号分隔的三个数字,格式为 'Idle,Interval,Probes'
- Idle: 在服务器开始发送保活探测之前,连接需要处于空闲状态的秒数(Linux 默认为 7200)。
- Interval: TCP 保活探测间隔的秒数(Linux 默认值为 75)。
- Probes: 在放弃并终止连接之前,从另一端未获得响应时要发送的 TCP 保活探测的最大数量(Linux 默认值为 9 次)。 例如 "240,30,5" 表示:在连接空闲 240 秒后发送 TCP 保活探测,每隔 30 秒发送一次,直到收到响应,如果连续丢失 5 个响应,连接应该被关闭。 默认值为 'none'
ssl
类型 Map($name->OneOf(Struct(mqtt_ssl_listener),String("marked_for_deletion")))
描述 SSL 监听器。
mountpoint
类型 String
默认值 ""
描述 发布或订阅时,请在所有主题前面加上 mountpoint 字符串。
将消息传递给订阅者时,将从主题名称中删除带前缀的字符串。挂载点是一种用户可以用来实现不同侦听器之间消息路由隔离的方法。
例如,如果客户机 A 使用
listeners.tcp.<name>.mountpoint
设置为'some_tenant',那么客户端实际上订阅了主题'some_tenant/t'。
类似地,如果另一个客户端 B(与客户端 A 连接到同一个侦听器)向主题 't' 发送消息,该消息将路由到所有订阅了'some_租户/t'的客户端,因此客户端 A 将接收主题名为't'的消息设置为
""
以禁用该功能mountpoint 字符串中的变量:
${clientid}
: clientid${username}
: username
tcp_options
类型 Struct(tcp_opts)
keepalive
类型 String
默认值 none
描述 为 MQTT 连接在 TCP 或 SSL 上启用 TCP 保活。 值是以逗号分隔的三个数字,格式为 'Idle,Interval,Probes'
- Idle: 在服务器开始发送保活探测之前,连接需要处于空闲状态的秒数(Linux 默认为 7200)。
- Interval: TCP 保活探测间隔的秒数(Linux 默认值为 75)。
- Probes: 在放弃并终止连接之前,从另一端未获得响应时要发送的 TCP 保活探测的最大数量(Linux 默认值为 9 次)。 例如 "240,30,5" 表示:在连接空闲 240 秒后发送 TCP 保活探测,每隔 30 秒发送一次,直到收到响应,如果连续丢失 5 个响应,连接应该被关闭。 默认值为 'none'
ssl_options
类型 Struct(listener_ssl_opts)
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ws
类型 Map($name->OneOf(Struct(mqtt_ws_listener),String("marked_for_deletion")))
描述 HTTP websocket 监听器。
mountpoint
类型 String
默认值 ""
描述 发布或订阅时,请在所有主题前面加上 mountpoint 字符串。
将消息传递给订阅者时,将从主题名称中删除带前缀的字符串。挂载点是一种用户可以用来实现不同侦听器之间消息路由隔离的方法。
例如,如果客户机 A 使用
listeners.tcp.<name>.mountpoint
设置为'some_tenant',那么客户端实际上订阅了主题'some_tenant/t'。
类似地,如果另一个客户端 B(与客户端 A 连接到同一个侦听器)向主题 't' 发送消息,该消息将路由到所有订阅了'some_租户/t'的客户端,因此客户端 A 将接收主题名为't'的消息设置为
""
以禁用该功能mountpoint 字符串中的变量:
${clientid}
: clientid${username}
: username
tcp_options
类型 Struct(tcp_opts)
keepalive
类型 String
默认值 none
描述 为 MQTT 连接在 TCP 或 SSL 上启用 TCP 保活。 值是以逗号分隔的三个数字,格式为 'Idle,Interval,Probes'
- Idle: 在服务器开始发送保活探测之前,连接需要处于空闲状态的秒数(Linux 默认为 7200)。
- Interval: TCP 保活探测间隔的秒数(Linux 默认值为 75)。
- Probes: 在放弃并终止连接之前,从另一端未获得响应时要发送的 TCP 保活探测的最大数量(Linux 默认值为 9 次)。 例如 "240,30,5" 表示:在连接空闲 240 秒后发送 TCP 保活探测,每隔 30 秒发送一次,直到收到响应,如果连续丢失 5 个响应,连接应该被关闭。 默认值为 'none'
wss
类型 Map($name->OneOf(Struct(mqtt_wss_listener),String("marked_for_deletion")))
描述 HTTPS websocket 监听器。
mountpoint
类型 String
默认值 ""
描述 发布或订阅时,请在所有主题前面加上 mountpoint 字符串。
将消息传递给订阅者时,将从主题名称中删除带前缀的字符串。挂载点是一种用户可以用来实现不同侦听器之间消息路由隔离的方法。
例如,如果客户机 A 使用
listeners.tcp.<name>.mountpoint
设置为'some_tenant',那么客户端实际上订阅了主题'some_tenant/t'。
类似地,如果另一个客户端 B(与客户端 A 连接到同一个侦听器)向主题 't' 发送消息,该消息将路由到所有订阅了'some_租户/t'的客户端,因此客户端 A 将接收主题名为't'的消息设置为
""
以禁用该功能mountpoint 字符串中的变量:
${clientid}
: clientid${username}
: username
tcp_options
类型 Struct(tcp_opts)
keepalive
类型 String
默认值 none
描述 为 MQTT 连接在 TCP 或 SSL 上启用 TCP 保活。 值是以逗号分隔的三个数字,格式为 'Idle,Interval,Probes'
- Idle: 在服务器开始发送保活探测之前,连接需要处于空闲状态的秒数(Linux 默认为 7200)。
- Interval: TCP 保活探测间隔的秒数(Linux 默认值为 75)。
- Probes: 在放弃并终止连接之前,从另一端未获得响应时要发送的 TCP 保活探测的最大数量(Linux 默认值为 9 次)。 例如 "240,30,5" 表示:在连接空闲 240 秒后发送 TCP 保活探测,每隔 30 秒发送一次,直到收到响应,如果连续丢失 5 个响应,连接应该被关闭。 默认值为 'none'
ssl_options
类型 Struct(listener_wss_opts)
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
quic
类型 Map($name->OneOf(Struct(mqtt_quic_listener),String("marked_for_deletion")))
描述 QUIC 监听器。
ciphers
类型 Array(String)
默认值 [TLS_AES_256_GCM_SHA384, TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256]
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式。
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3。
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
注:QUIC 监听器只支持 tlsv1.3 的 ciphers。
mountpoint
类型 String
默认值 ""
描述 发布或订阅时,请在所有主题前面加上 mountpoint 字符串。
将消息传递给订阅者时,将从主题名称中删除带前缀的字符串。挂载点是一种用户可以用来实现不同侦听器之间消息路由隔离的方法。
例如,如果客户机 A 使用
listeners.tcp.<name>.mountpoint
设置为'some_tenant',那么客户端实际上订阅了主题'some_tenant/t'。
类似地,如果另一个客户端 B(与客户端 A 连接到同一个侦听器)向主题 't' 发送消息,该消息将路由到所有订阅了'some_租户/t'的客户端,因此客户端 A 将接收主题名为't'的消息设置为
""
以禁用该功能mountpoint 字符串中的变量:
${clientid}
: clientid${username}
: username
mqtt
类型 Struct(mqtt)
描述 全局的 MQTT 配置项。 mqtt 下所有的配置作为全局的默认值存在,它可以被
zone
中的配置覆盖shared_subscription_strategy
类型 Enum(random,round_robin,round_robin_per_group,sticky,local,hash_topic,hash_clientid)
默认值 round_robin
描述 共享订阅消息派发策略。
random
:随机选择一个订阅者派发;round_robin
:单个发布者的消息轮流派发给订阅者;round_robin_per_group
:所有消息轮流派发给订阅者;local
:随机选择当前节点上的订阅者,如果当前节点没有订阅者则在集群范围内随机选择;sticky
:持续向初次选中的订阅者派发消息,直至其结束会话;hash_clientid
:对发布者客户端 ID 进行 Hash 处理以选择订阅者;hash_topic
:对发布主题进行 Hash 处理以选择订阅者。
await_rel_timeout
类型 Duration
默认值 300s
描述 客户端发布 QoS 2 消息时,服务器等待
PUBREL
的最长时延。超过该时长后服务器会放弃等待,该 PACKET ID 会被释放,从而允许后续新的 PUBLISH 消息使用。如果超时后收到 PUBREL,服务器将会产生一条告警日志。注意,向订阅客户端转发消息的动作发生在进入等待之前。
表示时间持续的字符串,例如:10s
、2.5m
、1h30m
、1W2D
或2345ms
,其中ms
是最小单位。当指定精度时,可能会忽略更精细的时间部分:例如将1200ms
用于Duration(s)
相当于写1s
。单位部分不区分大小写。
authentication
类型 Array(OneOf(Struct(builtin_db),Struct(mysql),Struct(postgresql),Struct(mongo_single),Struct(mongo_rs),Struct(mongo_sharded),Struct(redis_single),Struct(redis_cluster),Struct(redis_sentinel),Struct(http_get),Struct(http_post),Struct(jwt_hmac),Struct(jwt_public_key),Struct(jwt_jwks),Struct(scram),Struct(ldap),Struct(ldap_deprecated)))
默认值 []
描述 默认的 MQTT 监听器的全局认证配置。
有关每个监听器的单独配置,请参阅监听器配置中的
authentication
。此选项可配置为:
[]
: 默认值,允许 *所有* 登录- one: 例如
{enable:true,backend:"built_in_database",mechanism="password_based"}
- chain: 结构体数组。
当配置了一个认证链时,登录凭据将按照配置的顺序检查后端,直到可以做出'允许'或'拒绝'的决定。
如果在完全遍历认证链之后没有决定,登录将被拒绝。
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
verify_claims
类型 Map
默认值 []
描述 需要验证的自定义声明列表,是一个由名称/值对组成的列表。指定一个键(Key)来查找 JWT 中对应的声明(Claim),并提供一个预期值(Expected Value)来与声明的实际值进行比较,以确保只有满足特定条件的 JWT 才能被接受和使用。 例如要求 JWT 中的特定声明(如 clientid)的值必须与当前连接的客户端 ID 相匹配。 预期值可以使用以下占位符:
${username}
: 将在运行时被替换为客户端连接时使用的用户名${clientid}
: 将在运行时被替换为客户端连接时使用的客户端 ID 身份认证将确认 JWT 中的声明值(从密码字段中获取)与verify_claims
中要求的内容是否匹配。
verify_claims
类型 Map
默认值 []
描述 需要验证的自定义声明列表,是一个由名称/值对组成的列表。指定一个键(Key)来查找 JWT 中对应的声明(Claim),并提供一个预期值(Expected Value)来与声明的实际值进行比较,以确保只有满足特定条件的 JWT 才能被接受和使用。 例如要求 JWT 中的特定声明(如 clientid)的值必须与当前连接的客户端 ID 相匹配。 预期值可以使用以下占位符:
${username}
: 将在运行时被替换为客户端连接时使用的用户名${clientid}
: 将在运行时被替换为客户端连接时使用的客户端 ID 身份认证将确认 JWT 中的声明值(从密码字段中获取)与verify_claims
中要求的内容是否匹配。
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 SSL 选项。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
verify_claims
类型 Map
默认值 []
描述 需要验证的自定义声明列表,是一个由名称/值对组成的列表。指定一个键(Key)来查找 JWT 中对应的声明(Claim),并提供一个预期值(Expected Value)来与声明的实际值进行比较,以确保只有满足特定条件的 JWT 才能被接受和使用。 例如要求 JWT 中的特定声明(如 clientid)的值必须与当前连接的客户端 ID 相匹配。 预期值可以使用以下占位符:
${username}
: 将在运行时被替换为客户端连接时使用的用户名${clientid}
: 将在运行时被替换为客户端连接时使用的客户端 ID 身份认证将确认 JWT 中的声明值(从密码字段中获取)与verify_claims
中要求的内容是否匹配。
ssl
类型 Struct(ssl)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
authorization
类型 Struct(authorization)
描述 授权(ACL)。EMQX 支持完整的客户端访问控制(ACL)。
sources
类型 Array(OneOf(Struct(file),Struct(builtin_db),Struct(http_get),Struct(http_post),Struct(redis_single),Struct(redis_sentinel),Struct(redis_cluster),Struct(mysql),Struct(postgresql),Struct(mongo_single),Struct(mongo_rs),Struct(mongo_sharded),Struct(ldap)))
默认值 [ { enable = true path = "${EMQX_ETC_DIR}/acl.conf" type = file } ]
描述
授权(ACL)数据提供者的数组。 它被设计为一个数组,而不是哈希映射,因此可以 将源按顺序排列形成访问控制链。
在授权 '发布' 或 '订阅' 操作时,配置的 源会按顺序检查。在检查 ACL 源时, 如果未找到客户端(通过用户名或客户端 ID 标识), 则继续检查下一个源。一旦返回 '允许' 或 '拒绝' 决定, 立即停止检查。
如果在任何源中都未找到客户端, 则应用 'authorization.no_match' 中配置的默认操作。
注意: 源元素由它们的 '类型' 标识。 不允许配置两个或更多相同类型的源。
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
ssl
类型 Struct(ssl)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
cluster
类型 Struct(cluster)
etcd
类型 Struct(cluster_etcd)
ssl_options
别名 ssl 类型 Struct(ssl_client_opts)
描述 当使用 TLS 连接 etcd 时的配置选项。 当 cluster.discovery_strategy 为 etcd 时,此配置项才有效。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
rpc
类型 Struct(rpc)
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
bridges
类型 Struct(bridges)
webhook
类型 Map($name->Struct(config))
描述 转发消息到 HTTP 服务器的 WebHook
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
mqtt
类型 Map($name->Struct(config))
描述 桥接到另一个 MQTT Broker 的 MQTT 数据桥接
retry_interval
类型 String
默认值 15s
描述 Message retry interval. Delay for the MQTT bridge to retry sending the QoS1/QoS2 messages in case of ACK not received. Time interval is a string that contains a number followed by time unit:
-ms
for milliseconds,s
for seconds,m
for minutes,h
for hours;
or combination of whereof:1h5m0s
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
connectors
类型 Struct(connectors)
http
类型 Map($name->Struct(config_connector))
描述 HTTP Connector Config
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
mqtt
类型 Map($name->Struct(config_connector))
描述 MQTT Publisher Connector Config
retry_interval
类型 String
默认值 15s
描述 Message retry interval. Delay for the MQTT bridge to retry sending the QoS1/QoS2 messages in case of ACK not received. Time interval is a string that contains a number followed by time unit:
-ms
for milliseconds,s
for seconds,m
for minutes,h
for hours;
or combination of whereof:1h5m0s
ssl
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 启用 SSL 连接。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
retainer
类型 Struct(retainer)
backend
类型 Struct(mnesia_config)
描述 保留消息的存储后端
index_specs
类型 Array(Integer)
默认值 [ [1, 2, 3], [1, 3], [2, 3], [3] ]
描述 Retainer index specifications: list of arrays of positive ascending integers. Each array specifies an index. Numbers in an index specification are 1-based word positions in topics. Words from specified positions will be used for indexing.
For example, it is good to have[2, 4]
index to optimize+/X/+/Y/...
topic wildcard subscriptions.
dashboard
类型 Struct(dashboard)
listeners
类型 Struct(listeners)
描述 Dashboard 监听器设置。监听器必须有唯一的端口号和 IP 地址的组合。 例如,可以通过指定 IP 地址 0.0.0.0 来监听机器上给定端口上的所有配置的 IP 地址。 或者,可以为每个监听器指定唯一的 IP 地址,但使用相同的端口。
https
类型 Struct(https)
描述 SSL listeners
ssl_options
类型 Struct(ssl_options)
描述 Dashboard 监听器的 SSL/TLS 选项。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
gateway
类型 Struct(gateway)
stomp
类型 Struct(stomp)
mountpoint
类型 String
默认值 ""
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
listeners
类型 Struct(tcp_listeners)
tcp
类型 Map($name->Struct(tcp_listener))
描述 从监听器名称到配置参数的映射。
tcp_options
类型 Struct(tcp_opts)
描述 TCP Socket 配置。
keepalive 类型 String
默认值 none
描述 为 MQTT 连接在 TCP 或 SSL 上启用 TCP 保活。 值是以逗号分隔的三个数字,格式为 'Idle,Interval,Probes'
- Idle: 在服务器开始发送保活探测之前,连接需要处于空闲状态的秒数(Linux 默认为 7200)。
- Interval: TCP 保活探测间隔的秒数(Linux 默认值为 75)。
- Probes: 在放弃并终止连接之前,从另一端未获得响应时要发送的 TCP 保活探测的最大数量(Linux 默认值为 9 次)。 例如 "240,30,5" 表示:在连接空闲 240 秒后发送 TCP 保活探测,每隔 30 秒发送一次,直到收到响应,如果连续丢失 5 个响应,连接应该被关闭。 默认值为 'none'
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
ssl
类型 Map($name->Struct(ssl_listener))
描述 从监听器名称到配置参数的映射。
tcp_options
类型 Struct(tcp_opts)
描述 TCP Socket 配置。
keepalive 类型 String
默认值 none
描述 为 MQTT 连接在 TCP 或 SSL 上启用 TCP 保活。 值是以逗号分隔的三个数字,格式为 'Idle,Interval,Probes'
- Idle: 在服务器开始发送保活探测之前,连接需要处于空闲状态的秒数(Linux 默认为 7200)。
- Interval: TCP 保活探测间隔的秒数(Linux 默认值为 75)。
- Probes: 在放弃并终止连接之前,从另一端未获得响应时要发送的 TCP 保活探测的最大数量(Linux 默认值为 9 次)。 例如 "240,30,5" 表示:在连接空闲 240 秒后发送 TCP 保活探测,每隔 30 秒发送一次,直到收到响应,如果连续丢失 5 个响应,连接应该被关闭。 默认值为 'none'
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
ssl_options
类型 Struct(listener_ssl_opts)
描述 SSL Socket 配置。
ciphers 类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
exproto
类型 Struct(exproto)
server
类型 Struct(exproto_grpc_server)
描述 配置 ExProto 网关需要启动的
ConnectionAdapter
服务。 该服务用于提供客户端的认证、发布、订阅和数据下行等功能。ssl_options
类型 Struct(ssl_server_opts)
描述 服务 SSL 配置。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
handler
类型 Struct(exproto_grpc_handler)
描述 配置 ExProto 网关需要请求的
ConnectionHandler
服务地址。 该服务用于给 ExProto 提供客户端的 Socket 事件处理、字节解码、订阅消息接收等功能。service_name
类型 OneOf(String("ConnectionHandler"),String("ConnectionUnaryHandler"))
默认值 ConnectionUnaryHandler
描述 用于处理连接事件的服务名称 在初始版本中,我们期望使用流来提高 ConnectionHandler 中请求的效率。 但不幸的是,不同流之间的事件顺序混乱。 这导致 OnSocketCreated 事件可能会 在 OnReceivedBytes 之后到达。 因此,自 v5.0.25 起,我们添加了
ConnectionUnaryHandler
服务,并强制在其中使用了 Unary,以避免顺序问题。ssl_options
类型 Struct(ssl_client_opts)
描述 gRPC 客户端的 SSL 配置。
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
mountpoint
类型 String
默认值 ""
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
listeners
类型 Struct(tcp_udp_listeners)
tcp
类型 Map($name->Struct(tcp_listener))
描述 从监听器名称到配置参数的映射。
tcp_options
类型 Struct(tcp_opts)
描述 TCP Socket 配置。
keepalive 类型 String
默认值 none
描述 为 MQTT 连接在 TCP 或 SSL 上启用 TCP 保活。 值是以逗号分隔的三个数字,格式为 'Idle,Interval,Probes'
- Idle: 在服务器开始发送保活探测之前,连接需要处于空闲状态的秒数(Linux 默认为 7200)。
- Interval: TCP 保活探测间隔的秒数(Linux 默认值为 75)。
- Probes: 在放弃并终止连接之前,从另一端未获得响应时要发送的 TCP 保活探测的最大数量(Linux 默认值为 9 次)。 例如 "240,30,5" 表示:在连接空闲 240 秒后发送 TCP 保活探测,每隔 30 秒发送一次,直到收到响应,如果连续丢失 5 个响应,连接应该被关闭。 默认值为 'none'
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
ssl
类型 Map($name->Struct(ssl_listener))
描述 从监听器名称到配置参数的映射。
tcp_options
类型 Struct(tcp_opts)
描述 TCP Socket 配置。
keepalive 类型 String
默认值 none
描述 为 MQTT 连接在 TCP 或 SSL 上启用 TCP 保活。 值是以逗号分隔的三个数字,格式为 'Idle,Interval,Probes'
- Idle: 在服务器开始发送保活探测之前,连接需要处于空闲状态的秒数(Linux 默认为 7200)。
- Interval: TCP 保活探测间隔的秒数(Linux 默认值为 75)。
- Probes: 在放弃并终止连接之前,从另一端未获得响应时要发送的 TCP 保活探测的最大数量(Linux 默认值为 9 次)。 例如 "240,30,5" 表示:在连接空闲 240 秒后发送 TCP 保活探测,每隔 30 秒发送一次,直到收到响应,如果连续丢失 5 个响应,连接应该被关闭。 默认值为 'none'
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
ssl_options
类型 Struct(listener_ssl_opts)
描述 SSL Socket 配置。
ciphers 类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
udp
类型 Map($name->Struct(udp_listener))
描述 从监听器名称到配置参数的映射。
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
dtls
类型 Map($name->Struct(dtls_listener))
描述 从监听器名称到配置参数的映射。
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
dtls_options
类型 Struct(dtls_opts)
描述 DTLS Socket 配置
ciphers 类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
lwm2m
类型 Struct(lwm2m)
mountpoint
类型 String
默认值 "lwm2m/${endpoint_name}/"
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
listeners
类型 Struct(udp_listeners)
udp
类型 Map($name->Struct(udp_listener))
描述 从监听器名称到配置参数的映射。
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
dtls
类型 Map($name->Struct(dtls_listener))
描述 从监听器名称到配置参数的映射。
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
dtls_options
类型 Struct(dtls_opts)
描述 DTLS Socket 配置
ciphers 类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
mqttsn
类型 Struct(mqttsn)
mountpoint
类型 String
默认值 ""
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
listeners
类型 Struct(udp_listeners)
udp
类型 Map($name->Struct(udp_listener))
描述 从监听器名称到配置参数的映射。
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
dtls
类型 Map($name->Struct(dtls_listener))
描述 从监听器名称到配置参数的映射。
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
dtls_options
类型 Struct(dtls_opts)
描述 DTLS Socket 配置
ciphers 类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
coap
类型 Struct(coap)
mountpoint
类型 String
默认值 ""
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
listeners
类型 Struct(udp_listeners)
udp
类型 Map($name->Struct(udp_listener))
描述 从监听器名称到配置参数的映射。
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
dtls
类型 Map($name->Struct(dtls_listener))
描述 从监听器名称到配置参数的映射。
mountpoint
类型 String
描述 发布或订阅时,在所有主题前增加前缀字符串。 当消息投递给订阅者时,前缀字符串将从主题名称中删除。挂载点是用户可以用来实现不同监听器之间的消息路由隔离的一种方式。 例如,如果客户端 A 在
listeners.tcp.\<name>.mountpoint
设置为some_tenant
的情况下订阅t
, 则客户端实际上订阅了some_tenant/t
主题。 类似地,如果另一个客户端 B(连接到与客户端 A 相同的侦听器)向主题t
发送消息, 则该消息被路由到所有订阅了some_tenant/t
的客户端,因此客户端 A 将收到该消息,带有 主题名称t
。 设置为""
以禁用该功能。 挂载点字符串中可用的变量:${clientid}
:clientid${username}
:用户名
dtls_options
类型 Struct(dtls_opts)
描述 DTLS Socket 配置
ciphers 类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
exhook
类型 Struct(exhook)
servers
类型 Array(Struct(server))
默认值 []
描述 ExHook 服务器列表
ssl
类型 Struct(ssl_conf)
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"
opentelemetry
类型 Struct(opentelemetry)
exporter
类型 Struct(otel_exporter)
描述 Open Telemetry 导出器
ssl_options
类型 Struct(ssl_client_opts)
默认值 {enable = false}
描述 Open Telemetry 导出器的 SSL 配置
ciphers
类型 Array(String)
默认值 []
描述 此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"
或["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
。
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。 选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。 EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式
注意:某些密码套件仅与特定的 TLS版本
兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。 不兼容的密码套件将被自动删除。例如,如果只有
versions
仅配置为tlsv1.3
。为其他版本配置密码套件将无效。
注:PSK 的 Ciphers 不支持 tlsv1.3
如果打算使用 PSK 密码套件,tlsv1.3
应在ssl.versions
中禁用。
PSK 密码套件:"RSA-PSK-AES256-GCM-SHA384,RSA-PSK-AES256-CBC-SHA384, RSA-PSK-AES128-GCM-SHA256,RSA-PSK-AES128-CBC-SHA256, RSA-PSK-AES256-CBC-SHA,RSA-PSK-AES128-CBC-SHA, RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"