配置手册
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
描述 Enable TCP keepalive for MQTT connections over TCP or SSL. The value is three comma separated numbers in the format of 'Idle,Interval,Probes'
- Idle: The number of seconds a connection needs to be idle before the server begins to send out keep-alive probes (Linux default 7200).
- Interval: The number of seconds between TCP keep-alive probes (Linux default 75).
- Probes: The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end (Linux default 9). For example "240,30,5" means: EMQX should start sending TCP keepalive probes after the connection is in idle for 240 seconds, and the probes are sent every 30 seconds until a response is received from the MQTT client, if it misses 5 consecutive responses, EMQX should close the connection. Default: '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
描述 Enable TCP keepalive for MQTT connections over TCP or SSL. The value is three comma separated numbers in the format of 'Idle,Interval,Probes'
- Idle: The number of seconds a connection needs to be idle before the server begins to send out keep-alive probes (Linux default 7200).
- Interval: The number of seconds between TCP keep-alive probes (Linux default 75).
- Probes: The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end (Linux default 9). For example "240,30,5" means: EMQX should start sending TCP keepalive probes after the connection is in idle for 240 seconds, and the probes are sent every 30 seconds until a response is received from the MQTT client, if it misses 5 consecutive responses, EMQX should close the connection. Default: '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
描述 Enable TCP keepalive for MQTT connections over TCP or SSL. The value is three comma separated numbers in the format of 'Idle,Interval,Probes'
- Idle: The number of seconds a connection needs to be idle before the server begins to send out keep-alive probes (Linux default 7200).
- Interval: The number of seconds between TCP keep-alive probes (Linux default 75).
- Probes: The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end (Linux default 9). For example "240,30,5" means: EMQX should start sending TCP keepalive probes after the connection is in idle for 240 seconds, and the probes are sent every 30 seconds until a response is received from the MQTT client, if it misses 5 consecutive responses, EMQX should close the connection. Default: '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
描述 Enable TCP keepalive for MQTT connections over TCP or SSL. The value is three comma separated numbers in the format of 'Idle,Interval,Probes'
- Idle: The number of seconds a connection needs to be idle before the server begins to send out keep-alive probes (Linux default 7200).
- Interval: The number of seconds between TCP keep-alive probes (Linux default 75).
- Probes: The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end (Linux default 9). For example "240,30,5" means: EMQX should start sending TCP keepalive probes after the connection is in idle for 240 seconds, and the probes are sent every 30 seconds until a response is received from the MQTT client, if it misses 5 consecutive responses, EMQX should close the connection. Default: '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 策略派发;round_robin_per_group
:在共享组内循环选择下一个成员;local
:选择随机的本地成员,否则选择随机的集群范围内成员;sticky
:总是使用上次选中的订阅者派发,直到它断开连接;hash_clientid
:通过对发送者的客户端 ID 进行 Hash 处理来选择订阅者;hash_topic
:通过对源主题进行 Hash 处理来选择订阅者。
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)))
默认值 []
描述 Default authentication configs for all MQTT listeners.
For per-listener overrides see
authentication
in listener configsThis option can be configured with:
[]
: The default value, it allows *ALL* logins- one: For example
{enable:true,backend:"built_in_database",mechanism="password_based"}
- chain: An array of structs.
When a chain is configured, the login credentials are checked against the backends per the configured order, until an 'allow' or 'deny' decision can be made.
If there is no decision after a full chain exhaustion, the login is rejected.
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_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"
authorization
类型 Struct(authorization)
描述 授权(ACL)。EMQX 支持完整的客户端访问控制(ACL)。
sources
类型 Array(OneOf(Struct(file),Struct(http_get),Struct(http_post),Struct(builtin_db),Struct(mongo_single),Struct(mongo_rs),Struct(mongo_sharded),Struct(mysql),Struct(postgresql),Struct(redis_single),Struct(redis_sentinel),Struct(redis_cluster)))
默认值 [ { enable = true path = "${EMQX_ETC_DIR}/acl.conf" type = file } ]
描述 授权数据源。
授权(ACL)数据源的列表。 它被设计为一个数组,而不是一个散列映射, 所以可以作为链式访问控制。当授权一个 'publish' 或 'subscribe' 行为时, 该配置列表中的所有数据源将按顺序进行检查。 如果在某个客户端未找到时(使用 ClientID 或 Username)。 将会移动到下一个数据源。直至得到 'allow' 或 'deny' 的结果。
如果在任何数据源中都未找到对应的客户端信息。 配置的默认行为 ('authorization.no_match') 将生效。
注意: 数据源使用 'type' 进行标识。 使用同一类型的数据源多于一次不被允许。
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"
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"
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"
local_topic
类型 String
描述 The MQTT topic filter to be forwarded to the HTTP server. All MQTT 'PUBLISH' messages with the topic matching the local_topic will be forwarded.
NOTE: if this bridge is used as the action of a rule (EMQX rule engine), and also local_topic is configured, then both the data got from the rule and the MQTT messages that match local_topic will be forwarded.body
类型 String
描述 The body of the HTTP request.
If not provided, the body will be a JSON object of all the available fields.
There, 'all the available fields' means the context of a MQTT message when this webhook is triggered by receiving a MQTT message (thelocal_topic
is set), or the context of the event when this webhook is triggered by a rule (i.e. this webhook is used as an action of a rule).
Template with variables is allowed.
mqtt
类型 Map($name->Struct(config))
描述 桥接到另一个 MQTT Broker 的 MQTT Bridge
bridge_mode
类型 Boolean
默认值 false
描述 If enable bridge mode. NOTE: This setting is only for MQTT protocol version older than 5.0, and the remote MQTT broker MUST support this feature. If bridge_mode is set to true, the bridge will indicate to the remote broker that it is a bridge not an ordinary client. This means that loop detection will be more effective and that retained messages will be propagated correctly.
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"
ingress
类型 Struct(ingress)
描述 The ingress config defines how this bridge receive messages from the remote MQTT broker, and then send them to the local broker.
Template with variables is allowed in 'remote.qos', 'local.topic', 'local.qos', 'local.retain', 'local.payload'.
NOTE: if this bridge is used as the input of a rule, and also 'local.topic' is configured, then messages got from the remote broker will be sent to both the 'local.topic' and the rule.pool_size
类型 Integer(1..+inf)
默认值 8
描述 Size of the pool of MQTT clients that will ingest messages from the remote broker.
This value will be respected only if 'remote.topic' is a shared subscription topic or topic-filter (for example$share/name1/topic1
or$share/name2/topic2/#
), otherwise only a single MQTT client will be used. Each MQTT client will be assigned 'clientid' of the form '${clientid_prefix}:${bridge_name}:ingress:${node}:${n}' where 'n' is the number of a client inside the pool. NOTE: Non-shared subscription will not work well when EMQX is clustered.
egress
类型 Struct(egress)
描述 The egress config defines how this bridge forwards messages from the local broker to the remote broker.
Template with variables is allowed in 'remote.topic', 'local.qos', 'local.retain', 'local.payload'.
NOTE: if this bridge is used as the action of a rule, and also 'local.topic' is configured, then both the data got from the rule and the MQTT messages that matches 'local.topic' will be forwarded.
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)
描述 SSL/TLS options for the dashboard listener.
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
描述 Enable TCP keepalive for MQTT connections over TCP or SSL. The value is three comma separated numbers in the format of 'Idle,Interval,Probes'
- Idle: The number of seconds a connection needs to be idle before the server begins to send out keep-alive probes (Linux default 7200).
- Interval: The number of seconds between TCP keep-alive probes (Linux default 75).
- Probes: The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end (Linux default 9). For example "240,30,5" means: EMQX should start sending TCP keepalive probes after the connection is in idle for 240 seconds, and the probes are sent every 30 seconds until a response is received from the MQTT client, if it misses 5 consecutive responses, EMQX should close the connection. Default: '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
描述 Enable TCP keepalive for MQTT connections over TCP or SSL. The value is three comma separated numbers in the format of 'Idle,Interval,Probes'
- Idle: The number of seconds a connection needs to be idle before the server begins to send out keep-alive probes (Linux default 7200).
- Interval: The number of seconds between TCP keep-alive probes (Linux default 75).
- Probes: The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end (Linux default 9). For example "240,30,5" means: EMQX should start sending TCP keepalive probes after the connection is in idle for 240 seconds, and the probes are sent every 30 seconds until a response is received from the MQTT client, if it misses 5 consecutive responses, EMQX should close the connection. Default: '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"
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"
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"
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
描述 The service name to handle the connection events. In the initial version, we expected to use streams to improve the efficiency of requests in
ConnectionHandler
. But unfortunately, events between different streams are out of order. It causes theOnSocketCreated
event to may arrive later thanOnReceivedBytes
. So we added theConnectionUnaryHandler
service since v5.0.25 and forced the use of Unary in it to avoid ordering problems.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
描述 Enable TCP keepalive for MQTT connections over TCP or SSL. The value is three comma separated numbers in the format of 'Idle,Interval,Probes'
- Idle: The number of seconds a connection needs to be idle before the server begins to send out keep-alive probes (Linux default 7200).
- Interval: The number of seconds between TCP keep-alive probes (Linux default 75).
- Probes: The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end (Linux default 9). For example "240,30,5" means: EMQX should start sending TCP keepalive probes after the connection is in idle for 240 seconds, and the probes are sent every 30 seconds until a response is received from the MQTT client, if it misses 5 consecutive responses, EMQX should close the connection. Default: '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
描述 Enable TCP keepalive for MQTT connections over TCP or SSL. The value is three comma separated numbers in the format of 'Idle,Interval,Probes'
- Idle: The number of seconds a connection needs to be idle before the server begins to send out keep-alive probes (Linux default 7200).
- Interval: The number of seconds between TCP keep-alive probes (Linux default 75).
- Probes: The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end (Linux default 9). For example "240,30,5" means: EMQX should start sending TCP keepalive probes after the connection is in idle for 240 seconds, and the probes are sent every 30 seconds until a response is received from the MQTT client, if it misses 5 consecutive responses, EMQX should close the connection. Default: '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"
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"