1475 lines
51 KiB
Plaintext
1475 lines
51 KiB
Plaintext
emqx_schema {
|
||
|
||
fields_mqtt_quic_listener_peer_unidi_stream_count.desc:
|
||
"""允许对端打开的单向流的数量"""
|
||
|
||
fields_mqtt_quic_listener_peer_unidi_stream_count.label:
|
||
"""对端单向流的数量"""
|
||
|
||
fields_authorization_no_match.desc:
|
||
"""如果用户或客户端不匹配ACL规则,或者从可配置授权源(比如内置数据库、HTTP API 或 PostgreSQL 等。)内未找
|
||
到此类用户或客户端时,模式的认访问控制操作。
|
||
在“授权”中查找更多详细信息。"""
|
||
|
||
fields_authorization_no_match.label:
|
||
"""未匹时的默认授权动作"""
|
||
|
||
sysmon_top_db_hostname.desc:
|
||
"""收集数据点的 PostgreSQL 数据库的主机名。"""
|
||
|
||
sysmon_top_db_hostname.label:
|
||
"""数据库主机名"""
|
||
|
||
zones.desc:
|
||
"""<code>zone</code> 是按<code>name</code> 分组的一组配置。
|
||
对于灵活的配置映射,可以将 <code>name</code> 设置为侦听器的 <code>zone</code> 配置。
|
||
注:名为 <code>default</code> 的内置区域是自动创建的,无法删除。"""
|
||
|
||
fields_mqtt_quic_listener_certfile.desc:
|
||
"""证书文件。在 5.1 中会被废弃,使用 .ssl_options.certfile 代替。"""
|
||
|
||
fields_mqtt_quic_listener_certfile.label:
|
||
"""证书文件"""
|
||
|
||
fields_rate_limit_conn_bytes_in.desc:
|
||
"""限制 MQTT 连接接收数据包的速率。 速率以每秒的数据包字节数计算。"""
|
||
|
||
fields_rate_limit_conn_bytes_in.label:
|
||
"""数据包速率"""
|
||
|
||
crl_cache_capacity.desc:
|
||
"""缓存中可容纳的 CRL URL 的最大数量。 如果缓存的容量已满,并且必须获取一个新的 URL,那么它将驱逐缓存中插入的最老的 URL。"""
|
||
|
||
crl_cache_capacity.label:
|
||
"""CRL 缓存容量"""
|
||
|
||
alarm_actions.desc:
|
||
"""警报激活时触发的动作。<br/>目前,支持以下操作:<code>log</code> 和 <code>publish</code>.
|
||
<code>log</code> 将告警写入日志 (控制台或者文件).
|
||
<code>publish</code> 将告警作为 MQTT 消息发布到系统主题:
|
||
<code>$SYS/brokers/emqx@xx.xx.xx.x/alarms/activate</code> and
|
||
<code>$SYS/brokers/emqx@xx.xx.xx.x/alarms/deactivate</code>"""
|
||
|
||
alarm_actions.label:
|
||
"""告警动作"""
|
||
|
||
base_listener_max_connections.desc:
|
||
"""监听器允许的最大并发连接数。"""
|
||
|
||
base_listener_max_connections.label:
|
||
"""最大并发连接数"""
|
||
|
||
mqtt_peer_cert_as_username.desc:
|
||
"""使用对端证书中的 CN、DN 字段或整个证书内容来作为用户名;仅适用于 TLS 连接。
|
||
目前支持:
|
||
- <code>cn</code>: 取证书的 CN 字段
|
||
- <code>dn</code>: 取证书的 DN 字段
|
||
- <code>crt</code>: 取 <code>DER</code> 或 <code>PEM</code> 的证书内容
|
||
- <code>pem</code>: 将 <code>DER</code> 证书转换为 <code>PEM</code> 格式作为用户名
|
||
- <code>md5</code>: 取 <code>DER</code> 或 <code>PEM</code> 证书内容的 MD5 值"""
|
||
|
||
mqtt_peer_cert_as_username.label:
|
||
"""对端证书作为用户名"""
|
||
|
||
fields_cache_enable.desc:
|
||
"""启用或禁用授权缓存。"""
|
||
|
||
fields_cache_enable.label:
|
||
"""启用或禁用授权缓存"""
|
||
|
||
fields_mqtt_quic_listener_disconnect_timeout_ms.desc:
|
||
"""在判定路径无效和断开连接之前,要等待多长时间的ACK。默认:16000"""
|
||
|
||
fields_mqtt_quic_listener_disconnect_timeout_ms.label:
|
||
"""断开连接超时 毫秒"""
|
||
|
||
mqtt_max_topic_alias.desc:
|
||
"""允许的最大主题别名数,0 表示不支持主题别名。"""
|
||
|
||
mqtt_max_topic_alias.label:
|
||
"""最大主题别名"""
|
||
|
||
common_ssl_opts_schema_user_lookup_fun.desc:
|
||
"""用于查找预共享密钥(PSK)标识的 EMQX 内部回调。"""
|
||
|
||
common_ssl_opts_schema_user_lookup_fun.label:
|
||
"""SSL PSK 用户回调"""
|
||
|
||
fields_listeners_wss.desc:
|
||
"""HTTPS websocket 监听器。"""
|
||
|
||
fields_listeners_wss.label:
|
||
"""HTTPS websocket 监听器"""
|
||
|
||
sysmon_top_max_procs.desc:
|
||
"""当 VM 中的进程数超过此值时,停止收集数据。"""
|
||
|
||
sysmon_top_max_procs.label:
|
||
"""最大进程数"""
|
||
|
||
mqtt_use_username_as_clientid.desc:
|
||
"""是否使用用户名作为客户端 ID。
|
||
此设置的作用时间晚于 <code>对端证书作为用户名</code> 和 <code>对端证书作为客户端 ID</code>。"""
|
||
|
||
mqtt_use_username_as_clientid.label:
|
||
"""用户名作为客户端 ID"""
|
||
|
||
mqtt_max_qos_allowed.desc:
|
||
"""允许的最大 QoS 等级。"""
|
||
|
||
mqtt_max_qos_allowed.label:
|
||
"""最大 QoS"""
|
||
|
||
fields_mqtt_quic_listener_max_binding_stateless_operations.desc:
|
||
"""在任何时候可以在一个绑定上排队的无状态操作的最大数量。默认值:100"""
|
||
|
||
fields_mqtt_quic_listener_max_binding_stateless_operations.label:
|
||
"""最大绑定无状态操作"""
|
||
|
||
fields_mqtt_quic_listener_stream_recv_buffer_default.desc:
|
||
"""流的初始缓冲区大小。默认:4096"""
|
||
|
||
fields_mqtt_quic_listener_stream_recv_buffer_default.label:
|
||
"""流媒体接收缓冲区默认值"""
|
||
|
||
fields_mqtt_quic_listener_pacing_enabled.desc:
|
||
"""有节奏的发送,以避免路径上的缓冲区过度填充。默认值:1(已启用)"""
|
||
|
||
fields_mqtt_quic_listener_pacing_enabled.label:
|
||
"""启用节奏发送"""
|
||
|
||
mqtt_max_subscriptions.desc:
|
||
"""允许每个客户端建立的最大订阅数量。"""
|
||
|
||
mqtt_max_subscriptions.label:
|
||
"""最大订阅数量"""
|
||
|
||
persistent_session_builtin_messages_table.desc:
|
||
"""用于内建消息表的性能调优参数。"""
|
||
|
||
persistent_session_builtin_messages_table.label:
|
||
"""持久化消息"""
|
||
|
||
sysmon_os_cpu_low_watermark.desc:
|
||
"""在解除相应警报之前可以使用多少系统 CPU 的阈值,以系统CPU负载的百分比表示。"""
|
||
|
||
sysmon_os_cpu_low_watermark.label:
|
||
"""CPU 低水位线"""
|
||
|
||
fields_mqtt_quic_listener_tls_server_max_send_buffer.desc:
|
||
"""缓冲多少TLS数据。 默认值:8192"""
|
||
|
||
fields_mqtt_quic_listener_tls_server_max_send_buffer.label:
|
||
"""TLS 服务器最大发送缓冲区"""
|
||
|
||
base_listener_bind.desc:
|
||
"""监听套接字的 IP 地址和端口。"""
|
||
|
||
base_listener_bind.label:
|
||
"""IP 地址和端口"""
|
||
|
||
server_ssl_opts_schema_handshake_timeout.desc:
|
||
"""握手完成所允许的最长时间"""
|
||
|
||
server_ssl_opts_schema_handshake_timeout.label:
|
||
"""握手超时时间"""
|
||
|
||
fields_deflate_opts_server_context_takeover.desc:
|
||
"""接管意味着在服务器消息之间保留压缩状态。"""
|
||
|
||
fields_deflate_opts_server_context_takeover.label:
|
||
"""服务上下文接管"""
|
||
|
||
mqtt_session_expiry_interval.desc:
|
||
"""指定会话将在连接断开后多久过期,仅适用于非 MQTT 5.0 的连接。"""
|
||
|
||
mqtt_session_expiry_interval.label:
|
||
"""会话过期间隔"""
|
||
|
||
fields_listener_enabled.desc:
|
||
"""启停监听器。"""
|
||
|
||
fields_listener_enabled.label:
|
||
"""启停监听器"""
|
||
|
||
mqtt.desc:
|
||
"""全局的 MQTT 配置项。
|
||
mqtt 下所有的配置作为全局的默认值存在,它可以被 <code>zone</code> 中的配置覆盖。"""
|
||
|
||
crl_cache_refresh_http_timeout.desc:
|
||
"""获取 CRLs 时 HTTP 请求的超时。 该配置对所有启用 CRL 检查的监听器监听器有效。"""
|
||
|
||
crl_cache_refresh_http_timeout.label:
|
||
"""CRL 缓存刷新 HTTP 超时"""
|
||
|
||
fields_tcp_opts_backlog.desc:
|
||
"""TCP backlog 定义了挂起连接队列可以增长到的最大长度。"""
|
||
|
||
fields_tcp_opts_backlog.label:
|
||
"""TCP 连接队列长度"""
|
||
|
||
broker_route_batch_clean.desc:
|
||
"""是否开启批量清除路由。"""
|
||
|
||
fields_mqtt_quic_listener_initial_window_packets.desc:
|
||
"""一个连接的初始拥堵窗口的大小(以包为单位)。默认值:10"""
|
||
|
||
fields_mqtt_quic_listener_initial_window_packets.label:
|
||
"""初始窗口数据包"""
|
||
|
||
flapping_detect_enable.desc:
|
||
"""启用抖动检测功能。"""
|
||
|
||
flapping_detect_enable.label:
|
||
"""启用抖动检测"""
|
||
|
||
sysmon_top_db_password.desc:
|
||
"""PostgreSQL 数据库的密码"""
|
||
|
||
sysmon_top_db_password.label:
|
||
"""数据库密码"""
|
||
|
||
fields_ws_opts_check_origins.desc:
|
||
"""允许的 origins 列表"""
|
||
|
||
fields_ws_opts_check_origins.label:
|
||
"""允许的 origins"""
|
||
|
||
fields_deflate_opts_client_context_takeover.desc:
|
||
"""接管意味着在客户端消息之间保留压缩状态。"""
|
||
|
||
fields_deflate_opts_client_context_takeover.label:
|
||
"""客户端上下文接管"""
|
||
|
||
base_listener_acceptors.desc:
|
||
"""监听器接收池的大小。"""
|
||
|
||
base_listener_acceptors.label:
|
||
"""接收器数量"""
|
||
|
||
common_ssl_opts_schema_cacertfile.desc:
|
||
"""受信任的PEM格式 CA 证书捆绑文件<br/>
|
||
此文件中的证书用于验证TLS对等方的证书。
|
||
如果要信任新 CA,请将新证书附加到文件中。
|
||
无需重启EMQX即可加载更新的文件,因为系统会定期检查文件是否已更新(并重新加载)<br/>
|
||
注意:从文件中失效(删除)证书不会影响已建立的连接。"""
|
||
|
||
common_ssl_opts_schema_cacertfile.label:
|
||
"""CA 证书文件"""
|
||
|
||
fields_ws_opts_mqtt_path.desc:
|
||
"""WebSocket 的 MQTT 协议路径。因此,EMQX Broker的WebSocket地址为:
|
||
<code>ws://{ip}:{port}/mqtt</code>"""
|
||
|
||
fields_ws_opts_mqtt_path.label:
|
||
"""WS MQTT 路径"""
|
||
|
||
sysmon_os_procmem_high_watermark.desc:
|
||
"""在发出相应警报之前,一个Erlang进程可以分配多少系统内存的阈值,以系统内存的百分比表示。"""
|
||
|
||
sysmon_os_procmem_high_watermark.label:
|
||
"""进程内存高水位线"""
|
||
|
||
fields_listeners_quic.desc:
|
||
"""QUIC 监听器。"""
|
||
|
||
fields_listeners_quic.label:
|
||
"""QUIC 监听器"""
|
||
|
||
fields_listeners_ws.desc:
|
||
"""HTTP websocket 监听器。"""
|
||
|
||
fields_listeners_ws.label:
|
||
"""HTTP websocket 监听器"""
|
||
|
||
mqtt_retry_interval.desc:
|
||
"""QoS 1/2 消息的重新投递间隔。"""
|
||
|
||
mqtt_retry_interval.label:
|
||
"""重试间隔"""
|
||
|
||
stats_enable.desc:
|
||
"""启用/禁用统计数据收集功能。"""
|
||
|
||
stats_enable.label:
|
||
"""启用/禁用统计数据收集功能"""
|
||
|
||
fields_authorization_deny_action.desc:
|
||
"""授权检查拒绝操作时的操作。"""
|
||
|
||
fields_authorization_deny_action.label:
|
||
"""授权检查拒绝操作时的操作"""
|
||
|
||
fields_deflate_opts_server_max_window_bits.desc:
|
||
"""指定服务器压缩上下文的大小。"""
|
||
|
||
fields_deflate_opts_server_max_window_bits.label:
|
||
"""服务器压缩窗口大小"""
|
||
|
||
client_ssl_opts_schema_server_name_indication.desc:
|
||
"""指定要在 TLS 服务器名称指示扩展中使用的主机名。<br/>
|
||
例如,当连接到 "server.example.net" 时,接受连接并执行 TLS 握手的真正服务器可能与 TLS 客户端最初连接到的主机不同,
|
||
例如,当连接到 IP 地址时,或者当主机具有多个可解析的 DNS 记录时<br/>
|
||
如果未指定,它将默认为使用的主机名字符串
|
||
建立连接,除非使用 IP 地址<br/>
|
||
然后,主机名也用于对等机的主机名验证证书<br/>
|
||
特殊值 <code>disable</code> 阻止发送服务器名称指示扩展,并禁用主机名验证检查。"""
|
||
|
||
client_ssl_opts_schema_server_name_indication.label:
|
||
"""服务器名称指示"""
|
||
|
||
fields_mqtt_quic_listener_retry_memory_limit.desc:
|
||
"""在使用无状态重试之前,可用于握手连接的可用内存的百分比。计算为`N/65535`。默认值:65"""
|
||
|
||
fields_mqtt_quic_listener_retry_memory_limit.label:
|
||
"""重试内存限制"""
|
||
|
||
force_shutdown_max_mailbox_size.desc:
|
||
"""每个在线客户端在 EMQX 服务器中都是独立的一个进程。该配置可以设为单个进程的邮箱消息队列设置最大长度,当超过该上限时,客户端会被强制下线。"""
|
||
|
||
force_shutdown_max_mailbox_size.label:
|
||
"""进程邮箱消息数上限"""
|
||
|
||
sys_heartbeat_interval.desc:
|
||
"""发送心跳系统消息的间隔时间,它包括:
|
||
- `$SYS/brokers/<node>/uptime`
|
||
- `$SYS/brokers/<node>/datetime`"""
|
||
|
||
flapping_detect_ban_time.desc:
|
||
"""抖动的客户端将会被禁止登录多长时间。"""
|
||
|
||
flapping_detect_ban_time.label:
|
||
"""禁止登录时长"""
|
||
|
||
sysmon_top_num_items.desc:
|
||
"""每个监视组的顶级进程数。"""
|
||
|
||
sysmon_top_num_items.label:
|
||
"""顶级进程数"""
|
||
|
||
persistent_session_builtin_session_table.desc:
|
||
"""用于内建会话表的性能调优参数。"""
|
||
|
||
persistent_session_builtin_session_table.label:
|
||
"""持久会话"""
|
||
|
||
mqtt_upgrade_qos.desc:
|
||
"""投递消息时,是否根据订阅主题时的 QoS 等级来强制提升派发的消息的 QoS 等级。"""
|
||
|
||
mqtt_upgrade_qos.label:
|
||
"""升级 QoS"""
|
||
|
||
mqtt_shared_subscription.desc:
|
||
"""是否启用对 MQTT 共享订阅的支持。"""
|
||
|
||
mqtt_shared_subscription.label:
|
||
"""共享订阅可用"""
|
||
|
||
fields_tcp_opts_sndbuf.desc:
|
||
"""连接的 TCP 发送缓冲区(OS 内核)。"""
|
||
|
||
fields_tcp_opts_sndbuf.label:
|
||
"""TCP 发送缓冲区"""
|
||
|
||
sysmon_os_mem_check_interval.desc:
|
||
"""定期内存检查的时间间隔。"""
|
||
|
||
sysmon_os_mem_check_interval.label:
|
||
"""内存检查间隔"""
|
||
|
||
server_ssl_opts_schema_gc_after_handshake.desc:
|
||
"""内存使用调优。如果启用,将在TLS/SSL握手完成后立即执行垃圾回收。TLS/SSL握手建立后立即进行GC。"""
|
||
|
||
server_ssl_opts_schema_gc_after_handshake.label:
|
||
"""握手后执行GC"""
|
||
|
||
fields_mqtt_quic_listener_ssl_options.desc:
|
||
"""QUIC 传输层的 TLS 选项"""
|
||
|
||
fields_mqtt_quic_listener_ssl_options.label:
|
||
"""TLS 选项"""
|
||
|
||
fields_ws_opts_mqtt_piggyback.desc:
|
||
"""WebSocket消息是否允许包含多个 MQTT 数据包。"""
|
||
|
||
fields_ws_opts_mqtt_piggyback.label:
|
||
"""MQTT Piggyback"""
|
||
|
||
base_listener_mountpoint.desc:
|
||
"""发布或订阅时,请在所有主题前面加上 mountpoint 字符串。
|
||
|
||
将消息传递给订阅者时,将从主题名称中删除带前缀的字符串。挂载点是一种用户可以用来实现不同侦听器之间消息路由隔离的方法。
|
||
|
||
例如,如果客户机 A 使用 <code>listeners.tcp.\<name>.mountpoint</code> 设置为'some_tenant',那么客户端实际上订阅了主题'some_tenant/t'。<br/>
|
||
类似地,如果另一个客户端B(与客户端A连接到同一个侦听器)向主题 't' 发送消息,该消息将路由到所有订阅了'some_租户/t'的客户端,因此客户端 A 将接收主题名为't'的消息<br/>
|
||
|
||
设置为<code>""</code> 以禁用该功能<br/>
|
||
|
||
mountpoint 字符串中的变量:
|
||
- <code>${clientid}</code>: clientid
|
||
- <code>${username}</code>: username"""
|
||
|
||
base_listener_mountpoint.label:
|
||
"""mountpoint"""
|
||
|
||
mqtt_max_awaiting_rel.desc:
|
||
"""每个发布者的会话中,都存在一个队列来处理客户端发送的 QoS 2 消息。该队列会存储 QoS 2 消息的报文 ID 直到收到客户端的 PUBREL 或超时,达到队列长度的限制后,新的 QoS 2 消息发布会被拒绝,并返回 `147(0x93)` 错误。"""
|
||
|
||
mqtt_max_awaiting_rel.label:
|
||
"""PUBREL 等待队列长度"""
|
||
|
||
ciphers_schema_quic.desc:
|
||
"""此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
|
||
<code>"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"</code>或
|
||
<code>["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]</code>。
|
||
<br/>
|
||
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。
|
||
选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。
|
||
|
||
名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。
|
||
EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式<br/>
|
||
注意:某些密码套件仅与特定的 TLS <code>版本</code>兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。
|
||
不兼容的密码套件将被自动删除。
|
||
|
||
例如,如果只有 <code>versions</code> 仅配置为 <code>tlsv1.3</code>。为其他版本配置密码套件将无效。
|
||
|
||
<br/>
|
||
注:PSK 的 Ciphers 不支持 tlsv1.3<br/>
|
||
如果打算使用PSK密码套件,<code>tlsv1.3</code>。应在<code>ssl.versions</code>中禁用。
|
||
|
||
<br/>
|
||
PSK 密码套件:
|
||
<code>"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"</code><br/>
|
||
|
||
注:QUIC 监听器不支持 tlsv1.3 的 ciphers"""
|
||
|
||
ciphers_schema_quic.label:
|
||
""""""
|
||
|
||
fields_mqtt_quic_listener_max_bytes_per_key.desc:
|
||
"""在启动密钥更新之前,用单个 1-RTT 加密密钥加密的最大字节数。默认值:274877906944"""
|
||
|
||
fields_mqtt_quic_listener_max_bytes_per_key.label:
|
||
"""每个密钥的最大字节数"""
|
||
|
||
fields_mqtt_quic_listener_mtu_discovery_search_complete_timeout_us.desc:
|
||
"""如果没有达到 max ,在重新尝试 MTU 探测之前要等待的时间,单位是微秒。默认值:600000000"""
|
||
|
||
fields_mqtt_quic_listener_mtu_discovery_search_complete_timeout_us.label:
|
||
""""""
|
||
|
||
fields_ws_opts_check_origin_enable.desc:
|
||
"""如果<code>true</code>,<code>origin</code>HTTP 头将根据<code>check_origins</code>参数中配置的允许来源列表进行验证。"""
|
||
|
||
fields_ws_opts_check_origin_enable.label:
|
||
"""检查 origin"""
|
||
|
||
sysmon_vm_busy_dist_port.desc:
|
||
"""启用后,当用于集群接点之间 RPC 的连接过忙时,会触发一条带有 <code>busy_dist_port</code> 关键字的 warning 级别日志。
|
||
同时还会发布一条主题为 <code>$SYS/sysmon/busy_dist_port</code> 的 MQTT 系统消息。"""
|
||
|
||
sysmon_vm_busy_dist_port.label:
|
||
"""启用分布式端口过忙监控"""
|
||
|
||
mqtt_max_mqueue_len.desc:
|
||
"""消息队列最大长度。持久客户端断开连接或飞行窗口已满时排队的消息长度。"""
|
||
|
||
mqtt_max_mqueue_len.label:
|
||
"""最大消息队列长度"""
|
||
|
||
mqtt_max_inflight.desc:
|
||
"""允许在完成应答前同时投递的 QoS 1 和 QoS 2 消息的最大数量。"""
|
||
|
||
mqtt_max_inflight.label:
|
||
"""最大飞行窗口"""
|
||
|
||
persistent_session_store_enabled.desc:
|
||
"""使用数据库存储有关持久会话的信息。
|
||
这使得在节点停止时,可以将客户端连接迁移到另一个群集节点。"""
|
||
|
||
persistent_session_store_enabled.label:
|
||
"""启用持久会话保存"""
|
||
|
||
fields_deflate_opts_level.desc:
|
||
"""压缩级别"""
|
||
|
||
fields_deflate_opts_level.label:
|
||
"""压缩级别"""
|
||
|
||
mqtt_server_keepalive.desc:
|
||
"""EMQX 要求的保活时间,如设为 disabled,则将使用客户端指定的保持连接时间;仅适用于 MQTT 5.0 客户端。"""
|
||
|
||
mqtt_server_keepalive.label:
|
||
"""服务端保活时间"""
|
||
|
||
global_authentication.desc:
|
||
"""全局 MQTT 监听器的默认认证配置。 为每个监听器配置认证参考监听器器配置中的<code>authentication</code> 配置。
|
||
|
||
该配置可以被配置为:
|
||
<ul>
|
||
<li><code>[]</code>: 默认值,允许所有的登录请求
|
||
<li>配置为单认证器,例如 <code>{enable:true,backend:"built_in_database",mechanism="password_based"}</code></li>
|
||
<li>配置为认证器数组</li>
|
||
</ul>
|
||
|
||
当配置为认证链后,登录凭证会按照配置的顺序进行检查,直到做出<code>allow</code> 或 <code>deny</code>的结果。
|
||
|
||
如果在所有的认证器都执行完后,还是没有结果,登录将被拒绝。"""
|
||
|
||
fields_mqtt_quic_listener_load_balancing_mode.desc:
|
||
"""0: 禁用, 1: SERVER_ID_IP, 2: SERVER_ID_FIXED. 默认: 0"""
|
||
|
||
fields_mqtt_quic_listener_load_balancing_mode.label:
|
||
"""负载平衡模式"""
|
||
|
||
persistent_session_store_session_message_gc_interval.desc:
|
||
"""持久会话消息的临时数据垃圾收集的开始间隔。
|
||
这不会影响持久会话消息的生命周期长度。"""
|
||
|
||
persistent_session_store_session_message_gc_interval.label:
|
||
"""会话消息清理间隔"""
|
||
|
||
server_ssl_opts_schema_ocsp_refresh_http_timeout.desc:
|
||
"""检查 OCSP 响应时,HTTP 请求的超时。"""
|
||
|
||
server_ssl_opts_schema_ocsp_refresh_http_timeout.label:
|
||
"""OCSP 刷新 HTTP 超时"""
|
||
|
||
fields_tcp_opts_send_timeout.desc:
|
||
"""连接的 TCP 发送超时。"""
|
||
|
||
fields_tcp_opts_send_timeout.label:
|
||
"""TCP 发送超时"""
|
||
|
||
sysmon_vm_process_high_watermark.desc:
|
||
"""在发出相应警报之前,本地节点上可以同时存在多少进程的阈值(以进程百分比表示)。"""
|
||
|
||
sysmon_vm_process_high_watermark.label:
|
||
"""进程数高水位线"""
|
||
|
||
fields_tcp_opts_buffer.desc:
|
||
"""驱动程序使用的用户空间缓冲区的大小。"""
|
||
|
||
fields_tcp_opts_buffer.label:
|
||
"""TCP 用户态缓冲区"""
|
||
|
||
server_ssl_opts_schema_honor_cipher_order.desc:
|
||
"""一个重要的安全设置,它强制根据服务器指定的顺序而不是客户机指定的顺序设置密码,从而强制服务器管理员执行(通常配置得更正确)安全顺序。"""
|
||
|
||
server_ssl_opts_schema_honor_cipher_order.label:
|
||
"""SSL honor cipher order"""
|
||
|
||
conn_congestion_min_alarm_sustain_duration.desc:
|
||
"""清除警报前的最短时间。<br/>只有当队列中没有挂起的数据,并且连接至少被堵塞了 <code>min_alarm_sustain_duration</code> 毫秒时,<br/>报警才会被清除。这是为了避免太频繁地清除和再次发出警报。"""
|
||
|
||
conn_congestion_min_alarm_sustain_duration.label:
|
||
"""告警维持时间"""
|
||
|
||
fields_mqtt_quic_listener_keep_alive_interval_ms.desc:
|
||
"""多长时间发送一次PING帧以保活连接。"""
|
||
|
||
fields_mqtt_quic_listener_keep_alive_interval_ms.label:
|
||
"""保持活着的时间间隔 毫秒"""
|
||
|
||
fields_mqtt_quic_listener_handshake_idle_timeout_ms.desc:
|
||
"""一个握手在被丢弃之前可以空闲多长时间"""
|
||
|
||
fields_mqtt_quic_listener_handshake_idle_timeout_ms.label:
|
||
"""握手空闲超时 毫秒"""
|
||
|
||
broker_session_locking_strategy.desc:
|
||
"""Session 在集群中的锁策略。
|
||
- `loca`:仅锁本节点的 Session;
|
||
- `one`:任选一个其它节点加锁;
|
||
- `quorum`:选择集群中半数以上的节点加锁;
|
||
- `all`:选择所有节点加锁。"""
|
||
|
||
persistent_store_ram_cache.desc:
|
||
"""在内存中保持一份数据的副本,以便更快地访问。"""
|
||
|
||
persistent_store_ram_cache.label:
|
||
"""内存缓存"""
|
||
|
||
fields_mqtt_quic_listener_stream_recv_window_default.desc:
|
||
"""初始流接收窗口大小。 默认值:32678"""
|
||
|
||
fields_mqtt_quic_listener_stream_recv_window_default.label:
|
||
"""流接收窗口默认"""
|
||
|
||
mqtt_mqueue_priorities.desc:
|
||
"""主题优先级。取值范围 [1-255]
|
||
默认优先级表为空,即所有的主题优先级相同。
|
||
|
||
注:优先主题名称中不支持使用逗号和等号。
|
||
注:不在此列表中的主题,被视为最高/最低优先级,这取决于<code>mqtt.mqueue_default_priority</code> 的配置
|
||
|
||
示例:
|
||
配置 <code>"topic/1" > "topic/2"</code>:
|
||
<code>mqueue_priorities: {"topic/1": 10, "topic/2": 8}</code>"""
|
||
|
||
mqtt_mqueue_priorities.label:
|
||
"""主题优先级"""
|
||
|
||
fields_rate_limit_conn_messages_in.desc:
|
||
"""外部 MQTT 连接的消息限制。"""
|
||
|
||
fields_rate_limit_conn_messages_in.label:
|
||
"""外部 MQTT 连接的消息限制"""
|
||
|
||
fields_rate_limit_max_conn_rate.desc:
|
||
"""每秒最大连接数。"""
|
||
|
||
fields_rate_limit_max_conn_rate.label:
|
||
"""每秒最大连接数"""
|
||
|
||
alarm_size_limit.desc:
|
||
"""要保留为历史记录的已停用报警的最大总数。当超过此限制时,将删除最旧的停用报警,以限制总数。"""
|
||
|
||
alarm_size_limit.label:
|
||
"""告警总数限制"""
|
||
|
||
fields_cache_max_size.desc:
|
||
"""缓存项的最大数量。"""
|
||
|
||
fields_cache_max_size.label:
|
||
"""缓存项的最大数量"""
|
||
|
||
fields_listeners_tcp.desc:
|
||
"""TCP 监听器。"""
|
||
|
||
fields_listeners_tcp.label:
|
||
"""TCP 监听器"""
|
||
|
||
conn_congestion_enable_alarm.desc:
|
||
"""启用或者禁用连接阻塞告警功能。"""
|
||
|
||
conn_congestion_enable_alarm.label:
|
||
"""启用/禁用阻塞告警"""
|
||
|
||
fields_ws_opts_proxy_port_header.desc:
|
||
"""HTTP 头,用于传递有关客户端端口的信息。当 EMQX 集群部署在负载平衡器后面时,这一点非常重要。"""
|
||
|
||
fields_ws_opts_proxy_port_header.label:
|
||
"""客户端端口头"""
|
||
|
||
overload_protection_enable.desc:
|
||
"""是否对系统过载做出反应。"""
|
||
|
||
overload_protection_enable.label:
|
||
"""是否对系统过载做出反应"""
|
||
|
||
fields_mqtt_quic_listener_minimum_mtu.desc:
|
||
"""一个连接所支持的最小MTU。这将被作为起始MTU使用。默认值:1248"""
|
||
|
||
fields_mqtt_quic_listener_minimum_mtu.label:
|
||
"""最小 MTU"""
|
||
|
||
sys_msg_interval.desc:
|
||
"""发送 `$SYS` 主题的间隔时间。"""
|
||
|
||
mqtt_await_rel_timeout.desc:
|
||
"""客户端发布 QoS 2 消息时,服务器等待 `PUBREL` 的最长时延。超过该时长后服务器会放弃等待,该PACKET ID 会被释放,从而允许后续新的 PUBLISH 消息使用。如果超时后收到 PUBREL,服务器将会产生一条告警日志。注意,向订阅客户端转发消息的动作发生在进入等待之前。"""
|
||
|
||
mqtt_await_rel_timeout.label:
|
||
"""PUBREL 最大等待时间"""
|
||
|
||
common_ssl_opts_schema_verify.desc:
|
||
"""启用或禁用对等验证。"""
|
||
|
||
common_ssl_opts_schema_verify.label:
|
||
"""对等验证"""
|
||
|
||
fields_listeners_ssl.desc:
|
||
"""SSL 监听器。"""
|
||
|
||
fields_listeners_ssl.label:
|
||
"""SSL 监听器"""
|
||
|
||
fields_deflate_opts_client_max_window_bits.desc:
|
||
"""指定客户端压缩上下文的大小。"""
|
||
|
||
fields_deflate_opts_client_max_window_bits.label:
|
||
"""压缩窗口大小"""
|
||
|
||
common_ssl_opts_schema_keyfile.desc:
|
||
"""PEM格式的私钥文件。"""
|
||
|
||
common_ssl_opts_schema_keyfile.label:
|
||
"""私钥文件"""
|
||
|
||
sysmon_os_cpu_high_watermark.desc:
|
||
"""在发出相应警报之前可以使用多少系统 CPU 的阈值,以系统CPU负载的百分比表示。"""
|
||
|
||
sysmon_os_cpu_high_watermark.label:
|
||
"""CPU 高水位线"""
|
||
|
||
flapping_detect_window_time.desc:
|
||
"""抖动检测的时间窗口。"""
|
||
|
||
flapping_detect_window_time.label:
|
||
"""时间窗口"""
|
||
|
||
mqtt_mqueue_default_priority.desc:
|
||
"""默认的主题优先级,不在 <code>主题优先级</code>(<code>mqueue_priorities</code>) 中的主题将会使用该优先级。"""
|
||
|
||
mqtt_mqueue_default_priority.label:
|
||
"""默认主题优先级"""
|
||
|
||
client_ssl_opts_schema_enable.desc:
|
||
"""启用 TLS。"""
|
||
|
||
client_ssl_opts_schema_enable.label:
|
||
"""启用 TLS"""
|
||
|
||
fields_mqtt_quic_listener_mtu_discovery_missing_probe_count.desc:
|
||
"""在任何时候都可以在一个绑定上排队的无状态操作的最大数量。默认值:3"""
|
||
|
||
fields_mqtt_quic_listener_mtu_discovery_missing_probe_count.label:
|
||
"""MTU发现丢失的探针数量"""
|
||
|
||
fields_tcp_opts_recbuf.desc:
|
||
"""连接的 TCP 接收缓冲区(OS 内核)。"""
|
||
|
||
fields_tcp_opts_recbuf.label:
|
||
"""TCP 接收缓冲区"""
|
||
|
||
sysmon_vm_process_check_interval.desc:
|
||
"""定期进程限制检查的时间间隔。"""
|
||
|
||
sysmon_vm_process_check_interval.label:
|
||
"""进程限制检查时间"""
|
||
|
||
fields_mqtt_quic_listener_server_resumption_level.desc:
|
||
"""连接恢复 和/或 0-RTT 服务器支持。默认值:0(无恢复功能)"""
|
||
|
||
fields_mqtt_quic_listener_server_resumption_level.label:
|
||
"""服务端连接恢复支持"""
|
||
|
||
fields_ws_opts_proxy_address_header.desc:
|
||
"""HTTP 头,用于传递有关客户端 IP 地址的信息。
|
||
当 EMQX 集群部署在负载平衡器后面时,这一点非常重要。"""
|
||
|
||
fields_ws_opts_proxy_address_header.label:
|
||
"""客户端地址头"""
|
||
|
||
sysmon_os_sysmem_high_watermark.desc:
|
||
"""在发出相应报警之前可以分配多少系统内存的阈值,以系统内存的百分比表示。"""
|
||
|
||
sysmon_os_sysmem_high_watermark.label:
|
||
"""系统内存高水位线"""
|
||
|
||
fields_tcp_opts_high_watermark.desc:
|
||
"""当 VM 套接字实现内部排队的数据量达到此限制时,套接字将设置为忙碌状态。"""
|
||
|
||
fields_tcp_opts_high_watermark.label:
|
||
""""""
|
||
|
||
fields_mqtt_quic_listener_stateless_operation_expiration_ms.desc:
|
||
"""同一个对端的操作之间的时间限制,单位是毫秒。 默认:100"""
|
||
|
||
fields_mqtt_quic_listener_stateless_operation_expiration_ms.label:
|
||
"""无状态操作过期 毫秒"""
|
||
|
||
server_ssl_opts_schema_dhfile.desc:
|
||
"""如果协商使用Diffie-Hellman密钥交换的密码套件,则服务器将使用包含PEM编码的Diffie-Hellman参数的文件的路径。如果未指定,则使用默认参数。<br/>
|
||
注意:TLS 1.3不支持<code>dhfile</code>选项。"""
|
||
|
||
server_ssl_opts_schema_dhfile.label:
|
||
"""SSL dhfile"""
|
||
|
||
flapping_detect_max_count.desc:
|
||
"""MQTT 客户端在“窗口”时间内允许的最大断开次数。"""
|
||
|
||
flapping_detect_max_count.label:
|
||
"""最大断开次数"""
|
||
|
||
mqtt_max_topic_levels.desc:
|
||
"""允许的最大主题层级。"""
|
||
|
||
mqtt_max_topic_levels.label:
|
||
"""最大主题层级"""
|
||
|
||
force_shutdown_max_heap_size.desc:
|
||
"""Heap 的总大小。"""
|
||
|
||
force_shutdown_max_heap_size.label:
|
||
"""Heap 的总大小"""
|
||
|
||
persistent_store_on_disc.desc:
|
||
"""将持久会话数据保存在磁盘上。如果为 false 则存储在内存中。
|
||
如开启, 持久会话数据可在集群重启后恢复。
|
||
如关闭, 数据仅存储在内存中, 则在整个集群停止后丢失。"""
|
||
|
||
persistent_store_on_disc.label:
|
||
"""持久化在磁盘上"""
|
||
|
||
mqtt_ignore_loop_deliver.desc:
|
||
"""设置由 MQTT v3.1.1/v3.1.0 客户端发布的消息是否将转发给其本身;类似 MQTT 5.0 协议中的 <code>No Local</code> 选项。"""
|
||
|
||
mqtt_ignore_loop_deliver.label:
|
||
"""忽略循环投递"""
|
||
|
||
common_ssl_opts_schema_certfile.desc:
|
||
"""PEM格式证书链文件<br/>
|
||
此文件中的证书应与证书颁发链的顺序相反。也就是说,主机的证书应该放在文件的开头,
|
||
然后是直接颁发者 CA 证书,依此类推,一直到根 CA 证书。
|
||
根 CA 证书是可选的,如果想要添加,应加到文件到最末端。"""
|
||
|
||
common_ssl_opts_schema_certfile.label:
|
||
"""证书文件"""
|
||
|
||
mqtt_exclusive_subscription.desc:
|
||
"""是否启用对 MQTT 排它订阅的支持。"""
|
||
|
||
mqtt_exclusive_subscription.label:
|
||
"""排它订阅"""
|
||
|
||
mqtt_retain_available.desc:
|
||
"""是否启用对 MQTT 保留消息的支持。"""
|
||
|
||
mqtt_retain_available.label:
|
||
"""保留消息可用"""
|
||
|
||
fields_tcp_opts_reuseaddr.desc:
|
||
"""连接的 SO_REUSEADDR 标识。"""
|
||
|
||
fields_tcp_opts_reuseaddr.label:
|
||
"""SO_REUSEADDR"""
|
||
|
||
sysmon_vm_long_schedule.desc:
|
||
"""启用后,如果 Erlang VM 调度器出现某个任务占用时间过长时,会触发一条带有 'long_schedule' 关键字的日志。
|
||
同时还会发布一条主题为 <code>$SYS/sysmon/long_schedule</code> 的 MQTT 系统消息。"""
|
||
|
||
sysmon_vm_long_schedule.label:
|
||
"""启用长调度监控"""
|
||
|
||
mqtt_keepalive_backoff.desc:
|
||
"""EMQX 判定客户端保活超时使用的阈值系数。计算公式为:Keep Alive * Backoff * 2"""
|
||
|
||
mqtt_keepalive_backoff.label:
|
||
"""保活超时阈值系数"""
|
||
|
||
force_gc_bytes.desc:
|
||
"""在进程处理过多少个字节之后,对此进程执行垃圾回收。"""
|
||
|
||
force_gc_bytes.label:
|
||
"""垃圾回收字节数"""
|
||
|
||
server_ssl_opts_schema_fail_if_no_peer_cert.desc:
|
||
"""TLS/DTLS 服务器与 {verify,verify_peer} 一起使用。
|
||
如果设置为true,则如果客户端没有要发送的证书,即发送空证书,服务器将失败。
|
||
如果设置为false,则仅当客户端发送无效证书(空证书被视为有效证书)时才会失败。"""
|
||
|
||
server_ssl_opts_schema_fail_if_no_peer_cert.label:
|
||
"""没有证书则 SSL 失败"""
|
||
|
||
fields_ws_opts_compress.desc:
|
||
"""如果 <code>true</code>,则使用<code>zlib</code> 压缩 WebSocket 消息<br/>
|
||
<code>deflate_opts</code> 下的配置项属于压缩相关参数配置。"""
|
||
|
||
fields_ws_opts_compress.label:
|
||
"""Ws 压缩"""
|
||
|
||
fields_mqtt_quic_listener_keep_alive_interval.desc:
|
||
"""发送 PING 帧的频率,以保活连接. 设为 0 表示禁用。"""
|
||
|
||
fields_mqtt_quic_listener_keep_alive_interval.label:
|
||
"""PING 保活频率"""
|
||
|
||
fields_cache_ttl.desc:
|
||
"""缓存数据的生存时间。"""
|
||
|
||
fields_cache_ttl.label:
|
||
"""缓存数据的生存时间。"""
|
||
|
||
sys_topics.desc:
|
||
"""系统主题配置。"""
|
||
|
||
sys_event_client_subscribed.desc:
|
||
"""是否开启客户端已成功订阅主题事件消息。"""
|
||
|
||
sysmon_top_db_port.desc:
|
||
"""收集数据点的 PostgreSQL 数据库的端口。"""
|
||
|
||
sysmon_top_db_port.label:
|
||
"""数据库端口"""
|
||
|
||
fields_mqtt_quic_listener_max_operations_per_drain.desc:
|
||
"""每个连接操作的最大耗费操作数。默认:16"""
|
||
|
||
fields_mqtt_quic_listener_max_operations_per_drain.label:
|
||
"""每次操作最大操作数"""
|
||
|
||
fields_mqtt_quic_listener_datagram_receive_enabled.desc:
|
||
"""宣传对QUIC Datagram 扩展的支持。为将来保留。默认为0(FALSE)"""
|
||
|
||
fields_mqtt_quic_listener_datagram_receive_enabled.label:
|
||
"""启用 Datagram 接收"""
|
||
|
||
fields_mqtt_quic_listener_initial_rtt_ms.desc:
|
||
"""初始RTT估计"""
|
||
|
||
fields_mqtt_quic_listener_initial_rtt_ms.label:
|
||
"""Initial RTT 毫秒"""
|
||
|
||
overload_protection_backoff_gc.desc:
|
||
"""高负载时,跳过强制 GC。"""
|
||
|
||
overload_protection_backoff_gc.label:
|
||
"""跳过GC"""
|
||
|
||
broker_perf_route_lock_type.desc:
|
||
"""通配主题订阅/取消订阅性能调优。
|
||
建议仅当通配符主题较多时才更改此参数。
|
||
|
||
注:当从/更改为 `global` 锁时,它要求集群中的所有节点在更改之前停止。
|
||
- `key`:为 Mnesia 事务涉及到的每个 key 上锁,建议单节点时使用。
|
||
- `tab`:为 Mnesia 事务涉及到的表上锁,建议在集群中使用。
|
||
- `global`:所以更新操作都被全局的锁保护,仅建议在超大规模集群中使用。"""
|
||
|
||
fields_tcp_opts_nodelay.desc:
|
||
"""连接的 TCP_NODELAY 标识"""
|
||
|
||
fields_tcp_opts_nodelay.label:
|
||
"""TCP_NODELAY"""
|
||
|
||
sysmon_top_db_username.desc:
|
||
"""PostgreSQL 数据库的用户名"""
|
||
|
||
sysmon_top_db_username.label:
|
||
"""数据库用户名"""
|
||
|
||
broker.desc:
|
||
"""Broker 相关配置项。"""
|
||
|
||
force_gc_count.desc:
|
||
"""在进程收到多少消息之后,对此进程执行垃圾回收。"""
|
||
|
||
force_gc_count.label:
|
||
"""垃圾回收消息数"""
|
||
|
||
mqtt_max_clientid_len.desc:
|
||
"""允许的最大 MQTT Client ID 长度。"""
|
||
|
||
mqtt_max_clientid_len.label:
|
||
"""最大 Client ID 长度"""
|
||
|
||
fields_ws_opts_supported_subprotocols.desc:
|
||
"""逗号分隔的 subprotocols 支持列表。"""
|
||
|
||
fields_ws_opts_supported_subprotocols.label:
|
||
"""Subprotocols 支持列表"""
|
||
|
||
broker_shared_subscription_strategy.desc:
|
||
"""共享订阅消息派发策略。
|
||
- `random`:随机挑选一个共享订阅者派发;
|
||
- `round_robin`:使用 round-robin 策略派发;
|
||
- `round_robin_per_group`:在共享组内循环选择下一个成员;
|
||
- `local`:选择随机的本地成员,否则选择随机的集群范围内成员;
|
||
- `sticky`:总是使用上次选中的订阅者派发,直到它断开连接;
|
||
- `hash_clientid`:通过对发送者的客户端 ID 进行 Hash 处理来选择订阅者;
|
||
- `hash_topic`:通过对源主题进行 Hash 处理来选择订阅者。"""
|
||
|
||
fields_deflate_opts_mem_level.desc:
|
||
"""指定压缩状态的大小<br/>
|
||
较低的值会减少每个连接的内存使用。"""
|
||
|
||
fields_deflate_opts_mem_level.label:
|
||
"""压缩状态大小"""
|
||
|
||
fields_mqtt_quic_listener_send_idle_timeout_ms.desc:
|
||
"""在闲置一定时间后重置拥堵控制。默认值:1000"""
|
||
|
||
fields_mqtt_quic_listener_send_idle_timeout_ms.label:
|
||
"""发送空闲超时毫秒"""
|
||
|
||
base_listener_limiter.desc:
|
||
"""速率限制类型"""
|
||
|
||
base_listener_limiter.label:
|
||
"""速率限制类型"""
|
||
|
||
persistent_session_store_backend.desc:
|
||
"""用于存储持久性会话和信息的数据库管理后端
|
||
- `builtin`: 使用内置的数据库(mria)"""
|
||
|
||
persistent_session_store_backend.label:
|
||
"""后端类型"""
|
||
|
||
alarm_validity_period.desc:
|
||
"""停用报警的保留时间。报警在停用时不会立即删除,而是在保留时间之后删除。"""
|
||
|
||
alarm_validity_period.label:
|
||
"""告警保留时间"""
|
||
|
||
server_ssl_opts_schema_ocsp_issuer_pem.desc:
|
||
"""服务器证书的 OCSP 签发者的 PEM 编码证书。"""
|
||
|
||
server_ssl_opts_schema_ocsp_issuer_pem.label:
|
||
"""OCSP 签发者证书"""
|
||
|
||
fields_tcp_opts_active_n.desc:
|
||
"""为此套接字指定{active,N}选项<br/>
|
||
See: https://erlang.org/doc/man/inet.html#setopts-2"""
|
||
|
||
fields_tcp_opts_active_n.label:
|
||
"""active_n"""
|
||
|
||
listener_authentication.desc:
|
||
"""监听器认证重载。
|
||
认证配置可以是单个认证器实例,也可以是一个认证器数组组成的认证链。
|
||
执行登录验证时(用户名、客户端 ID 等),将按配置的顺序执行。"""
|
||
|
||
listener_authentication.label:
|
||
"""每个监听器的认证覆盖"""
|
||
|
||
fields_trace_payload_encode.desc:
|
||
"""确定跟踪文件中有效负载格式的格式。<br/>
|
||
`text`:基于文本的协议或纯文本协议。
|
||
建议在有效负载为JSON编码时使用<br/>
|
||
`hex`:二进制十六进制编码。当有效负载是自定义二进制协议时,建议使用此选项<br/>
|
||
`hidden`:有效负载被模糊化为 `******`"""
|
||
|
||
fields_trace_payload_encode.label:
|
||
"""有效负载编码"""
|
||
|
||
mqtt_response_information.desc:
|
||
"""UTF-8 字符串,用于指定返回给客户端的响应主题,如 <code>reqrsp/</code>,此时请求和应答客户端都需要使用 <code>reqrsp/</code> 前缀的主题来完成通讯。
|
||
如希望禁用此功能,请在下方的文字框中输入<code>""</code>;仅适用于 MQTT 5.0 客户端。"""
|
||
|
||
mqtt_response_information.label:
|
||
"""响应信息"""
|
||
|
||
persistent_session_store_max_retain_undelivered.desc:
|
||
"""如果重新启动时处理上一个会话的节点已停止,则未传递到持久会话的消息在垃圾收集之前会被存储。"""
|
||
|
||
persistent_session_store_max_retain_undelivered.label:
|
||
"""未投递的消息保留条数"""
|
||
|
||
fields_mqtt_quic_listener_migration_enabled.desc:
|
||
"""开启客户端地址迁移功能。需要一个支持的负载平衡器,或者没有负载平衡器。默认值:1(已启用)"""
|
||
|
||
fields_mqtt_quic_listener_migration_enabled.label:
|
||
"""启用地址迁移"""
|
||
|
||
common_ssl_opts_schema_password.desc:
|
||
"""包含用户密码的字符串。仅在私钥文件受密码保护时使用。"""
|
||
|
||
common_ssl_opts_schema_password.label:
|
||
"""秘钥文件密码"""
|
||
|
||
common_ssl_opts_schema_hibernate_after.desc:
|
||
"""在闲置一定时间后休眠 SSL 进程,减少其内存占用。"""
|
||
|
||
common_ssl_opts_schema_hibernate_after.label:
|
||
"""闲置多久后休眠"""
|
||
|
||
fields_mqtt_quic_listener_send_buffering_enabled.desc:
|
||
"""缓冲发送数据,而不是保留应用缓冲区,直到发送数据被确认。默认值:1(启用)"""
|
||
|
||
fields_mqtt_quic_listener_send_buffering_enabled.label:
|
||
"""启用发送缓冲功能"""
|
||
|
||
sys_event_client_unsubscribed.desc:
|
||
"""是否开启客户端已成功取消订阅主题事件消息。"""
|
||
|
||
overload_protection_backoff_new_conn.desc:
|
||
"""高负载时,拒绝新进来的客户端连接。"""
|
||
|
||
overload_protection_backoff_new_conn.label:
|
||
"""关闭新连接"""
|
||
|
||
server_ssl_opts_schema_ocsp_responder_url.desc:
|
||
"""用于检查服务器证书的 OCSP Responder 的 URL。"""
|
||
|
||
server_ssl_opts_schema_ocsp_responder_url.label:
|
||
"""OCSP Responder 的 URL"""
|
||
|
||
mqtt_idle_timeout.desc:
|
||
"""设置连接被断开或进入休眠状态前的等待时间,空闲超时后,
|
||
- 如暂未收到客户端的 CONNECT 报文,连接将断开;
|
||
- 如已收到客户端的 CONNECT 报文,连接将进入休眠模式以节省系统资源。
|
||
|
||
注意:请合理设置该参数值,如等待时间设置过长,可能造成系统资源的浪费。"""
|
||
|
||
mqtt_idle_timeout.label:
|
||
"""空闲超时"""
|
||
|
||
fields_mqtt_quic_listener_conn_flow_control_window.desc:
|
||
"""连接的流控窗口。默认:16777216"""
|
||
|
||
fields_mqtt_quic_listener_conn_flow_control_window.label:
|
||
"""流控窗口"""
|
||
|
||
fields_mqtt_quic_listener_maximum_mtu.desc:
|
||
"""一个连接所支持的最大MTU。这将是最大的探测值。默认值:1500"""
|
||
|
||
fields_mqtt_quic_listener_maximum_mtu.label:
|
||
"""最大 MTU"""
|
||
|
||
sysmon_top_db_name.desc:
|
||
"""PostgreSQL 数据库的数据库名"""
|
||
|
||
sysmon_top_db_name.label:
|
||
"""数据库名"""
|
||
|
||
mqtt_strict_mode.desc:
|
||
"""是否以严格模式解析 MQTT 消息。
|
||
严格模式下,如客户端 ID、主题名称等中包含无效 utf8 字符串,连接将被断开。"""
|
||
|
||
mqtt_strict_mode.label:
|
||
"""严格模式"""
|
||
|
||
shared_subscription_group_strategy.desc:
|
||
"""设置共享订阅组为单位的分发策略。该配置是一个从组名到
|
||
策略名的一个map,组名不得包含 `[A-Za-z0-9]` 之外的特殊字符。"""
|
||
|
||
fields_deflate_opts_strategy.desc:
|
||
"""指定压缩策略。"""
|
||
|
||
fields_deflate_opts_strategy.label:
|
||
"""指定压缩策略"""
|
||
|
||
shared_subscription_strategy_enum.desc:
|
||
"""共享订阅的分发策略名称。
|
||
- `random`:随机选择一个组内成员;
|
||
- `round_robin`:循环选择下一个成员;
|
||
- `round_robin_per_group`:在共享组内循环选择下一个成员;
|
||
- `sticky`:使用上一次选中的成员;
|
||
- `hash`:根据 ClientID 哈希映射到一个成员;
|
||
- `local`:随机分发到节点本地成成员,如果本地成员不存在,则随机分发到任意一个成员。"""
|
||
|
||
persistent_session_builtin_sess_msg_table.desc:
|
||
"""优化内置的会话消息表的配置。"""
|
||
|
||
persistent_session_builtin_sess_msg_table.label:
|
||
"""用于内建会话管理表的性能调优参数"""
|
||
|
||
mqtt_mqueue_store_qos0.desc:
|
||
"""指定在连接断开但会话保持期间,是否需要在消息队列中存储 QoS 0 消息。"""
|
||
|
||
mqtt_mqueue_store_qos0.label:
|
||
"""存储 QoS 0 消息"""
|
||
|
||
server_ssl_opts_schema_client_renegotiation.desc:
|
||
"""在支持客户机发起的重新协商的协议中,这种操作的资源成本对于服务器来说高于客户机。
|
||
这可能会成为拒绝服务攻击的载体。
|
||
SSL 应用程序已经采取措施来反击此类尝试,但通过将此选项设置为 false,可以严格禁用客户端发起的重新协商。
|
||
默认值为 true。请注意,由于基础密码套件可以加密的消息数量有限,禁用重新协商可能会导致长期连接变得不可用。"""
|
||
|
||
server_ssl_opts_schema_client_renegotiation.label:
|
||
"""SSL 客户端冲协商"""
|
||
|
||
server_ssl_opts_schema_enable_crl_check.desc:
|
||
"""是否为该监听器启用 CRL 检查。"""
|
||
|
||
server_ssl_opts_schema_enable_crl_check.label:
|
||
"""启用 CRL 检查"""
|
||
|
||
fields_mqtt_quic_listener_peer_bidi_stream_count.desc:
|
||
"""允许对端打开的双向流的数量"""
|
||
|
||
fields_mqtt_quic_listener_peer_bidi_stream_count.label:
|
||
"""对端双向流的数量"""
|
||
|
||
fields_mqtt_quic_listener_max_stateless_operations.desc:
|
||
"""无状态操作的最大数量,在任何时候都可以在一个工作者上排队。默认值:16"""
|
||
|
||
fields_mqtt_quic_listener_max_stateless_operations.label:
|
||
"""最大无状态操作数"""
|
||
|
||
fields_ws_opts_idle_timeout.desc:
|
||
"""关闭在此间隔内未发送 MQTT CONNECT 消息的客户端的传输层连接。"""
|
||
|
||
fields_ws_opts_idle_timeout.label:
|
||
"""WS 空闲时间"""
|
||
|
||
fields_mqtt_quic_listener_max_ack_delay_ms.desc:
|
||
"""在收到数据后要等待多长时间才能发送一个ACK。默认值:25"""
|
||
|
||
fields_mqtt_quic_listener_max_ack_delay_ms.label:
|
||
"""最大应答延迟 毫秒"""
|
||
|
||
base_listener_zone.desc:
|
||
"""监听器所属的配置组。"""
|
||
|
||
base_listener_zone.label:
|
||
"""配置组"""
|
||
|
||
fields_mqtt_quic_listener_handshake_idle_timeout.desc:
|
||
"""一个握手在被丢弃之前可以空闲多长时间。"""
|
||
|
||
fields_mqtt_quic_listener_handshake_idle_timeout.label:
|
||
"""握手空闲超时时间"""
|
||
|
||
force_gc_enable.desc:
|
||
"""启用强制垃圾回收。"""
|
||
|
||
force_gc_enable.label:
|
||
"""启用强制垃圾回收"""
|
||
|
||
fields_ws_opts_allow_origin_absence.desc:
|
||
"""If <code>false</code> and <code>check_origin_enable</code> is <code>true</code>, the server will reject requests that don't have <code>origin</code> HTTP header."""
|
||
|
||
fields_ws_opts_allow_origin_absence.label:
|
||
"""允许 origin 缺失"""
|
||
|
||
common_ssl_opts_schema_versions.desc:
|
||
"""支持所有TLS/DTLS版本<br/>
|
||
注:PSK 的 Ciphers 无法在 <code>tlsv1.3</code> 中使用,如果打算使用 PSK 密码套件,请确保这里配置为 <code>["tlsv1.2","tlsv1.1"]</code>。"""
|
||
|
||
common_ssl_opts_schema_versions.label:
|
||
"""SSL 版本"""
|
||
|
||
mqtt_listener_proxy_protocol_timeout.desc:
|
||
"""代理协议超时。如果在超时时间内未收到代理协议数据包,EMQX将关闭TCP连接。"""
|
||
|
||
mqtt_listener_proxy_protocol_timeout.label:
|
||
"""Proxy protocol 超时时间"""
|
||
|
||
fields_mqtt_quic_listener_idle_timeout.desc:
|
||
"""一个连接在被关闭之前可以空闲多长时间。0表示禁用。"""
|
||
|
||
fields_mqtt_quic_listener_idle_timeout.label:
|
||
"""空闲超时时间"""
|
||
|
||
common_ssl_opts_schema_secure_renegotiate.desc:
|
||
"""SSL 参数重新协商是一种允许客户端和服务器动态重新协商 SSL 连接参数的功能。
|
||
RFC 5746 定义了一种更安全的方法。通过启用安全的重新协商,您就失去了对不安全的重新协商的支持,从而容易受到 MitM 攻击。"""
|
||
|
||
common_ssl_opts_schema_secure_renegotiate.label:
|
||
"""SSL 重新协商"""
|
||
|
||
sysmon_vm_busy_port.desc:
|
||
"""当一个系统接口(例如 TCP socket)过忙,会触发一条带有 <code>busy_port</code> 关键字的 warning 级别的日志。
|
||
同时还会发布一条主题为 <code>$SYS/sysmon/busy_port</code> 的 MQTT 系统消息。"""
|
||
|
||
sysmon_vm_busy_port.label:
|
||
"""启用端口过忙监控"""
|
||
|
||
sys_event_client_connected.desc:
|
||
"""是否开启客户端已连接事件消息。"""
|
||
|
||
sysmon_vm_process_low_watermark.desc:
|
||
"""在清除相应警报之前,本地节点上可以同时存在多少进程的阈值(以进程百分比表示)。"""
|
||
|
||
sysmon_vm_process_low_watermark.label:
|
||
"""进程数低水位线"""
|
||
|
||
mqtt_max_packet_size.desc:
|
||
"""允许的最大 MQTT 报文大小。"""
|
||
|
||
mqtt_max_packet_size.label:
|
||
"""最大报文大小"""
|
||
|
||
common_ssl_opts_schema_reuse_sessions.desc:
|
||
"""启用 TLS 会话重用。"""
|
||
|
||
common_ssl_opts_schema_reuse_sessions.label:
|
||
"""TLS 会话重用"""
|
||
|
||
common_ssl_opts_schema_depth.desc:
|
||
"""在有效的证书路径中,可以跟随对等证书的非自颁发中间证书的最大数量。
|
||
因此,如果深度为0,则对等方必须由受信任的根 CA 直接签名;<br/>
|
||
如果是1,路径可以是 PEER、中间 CA、ROOT-CA;<br/>
|
||
如果是2,则路径可以是PEER、中间 CA1、中间 CA2、ROOT-CA。"""
|
||
|
||
common_ssl_opts_schema_depth.label:
|
||
"""CA 证书深度"""
|
||
|
||
sysmon_vm_long_gc.desc:
|
||
"""当系统检测到某个 Erlang 进程垃圾回收占用过长时间,会触发一条带有 <code>long_gc</code> 关键字的日志。
|
||
同时还会发布一条主题为 <code>$SYS/sysmon/long_gc</code> 的 MQTT 系统消息。"""
|
||
|
||
sysmon_vm_long_gc.label:
|
||
"""启用长垃圾回收监控"""
|
||
|
||
fields_mqtt_quic_listener_keyfile.desc:
|
||
"""私钥文件。在 5.1 中会被废弃,使用 .ssl_options.keyfile 代替。"""
|
||
|
||
fields_mqtt_quic_listener_keyfile.label:
|
||
"""私钥文件"""
|
||
|
||
mqtt_peer_cert_as_clientid.desc:
|
||
"""使用对端证书中的 CN、DN 字段或整个证书内容来作为客户端 ID。仅适用于 TLS 连接;
|
||
目前支持:
|
||
- <code>cn</code>: 取证书的 CN 字段
|
||
- <code>dn</code>: 取证书的 DN 字段
|
||
- <code>crt</code>: 取 <code>DER</code> 或 <code>PEM</code> 证书的内容
|
||
- <code>pem</code>: 将 <code>DER</code> 证书内容转换为 <code>PEM</code> 格式作为客户端 ID
|
||
- <code>md5</code>: 取 <code>DER</code> 或 <code>PEM</code> 证书内容的 MD5 值"""
|
||
|
||
mqtt_peer_cert_as_clientid.label:
|
||
"""对端证书作为客户端 ID"""
|
||
|
||
persistent_session_store_message_gc_interval.desc:
|
||
"""将未送达的消息垃圾收集到持久会话的开始间隔。
|
||
这会影响检查 "max_retain_undelivered"(最大保留未送达)的删除频率。"""
|
||
|
||
persistent_session_store_message_gc_interval.label:
|
||
"""消息清理间隔"""
|
||
|
||
broker_shared_dispatch_ack_enabled.desc:
|
||
"""该配置项已废弃。
|
||
启用/禁用 QoS 1 和 QoS 2 消息的共享派发确认。
|
||
该配置最初设计用于避免将消息派发给客户端离线状态下的会话中去。
|
||
但新版本中,已做增强:在一个会话结束时,会话中的消息会重新派发到组内的其他会话中 -- 使这个老配置失去存在的意义。"""
|
||
|
||
base_listener_enable_authn.desc:
|
||
"""配置 <code>true</code> (默认值)启用客户端进行身份认证,通过检查认配置的认认证器链来决定是否允许接入。
|
||
配置 <code>false</code> 时,将不对客户端做任何认证,任何客户端,不论是不是携带用户名等认证信息,都可以接入。
|
||
配置 <code>quick_deny_anonymous</code> 时,行为跟 <code>true</code> 类似,但是会对匿名
|
||
客户直接拒绝,不做使用任何认证器对客户端进行身份检查。"""
|
||
|
||
base_listener_enable_authn.label:
|
||
"""启用身份认证"""
|
||
|
||
force_shutdown_enable.desc:
|
||
"""启用 `force_shutdown` 功能。"""
|
||
|
||
force_shutdown_enable.label:
|
||
"""启用 `force_shutdown` 功能"""
|
||
|
||
broker_enable_session_registry.desc:
|
||
"""是否启用 Session Registry"""
|
||
|
||
overload_protection_backoff_delay.desc:
|
||
"""高负载时,一些不重要的任务可能会延迟执行,在这里设置允许延迟的时间。"""
|
||
|
||
overload_protection_backoff_delay.label:
|
||
"""延迟时间"""
|
||
|
||
ciphers_schema_common.desc:
|
||
"""此配置保存由逗号分隔的 TLS 密码套件名称,或作为字符串数组。例如
|
||
<code>"TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256"</code>或
|
||
<code>["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]</code>。
|
||
<br/>
|
||
密码(及其顺序)定义了客户端和服务器通过网络连接加密信息的方式。
|
||
选择一个好的密码套件对于应用程序的数据安全性、机密性和性能至关重要。
|
||
|
||
名称应为 OpenSSL 字符串格式(而不是 RFC 格式)。
|
||
EMQX 配置文档提供的所有默认值和示例都是 OpenSSL 格式<br/>
|
||
注意:某些密码套件仅与特定的 TLS <code>版本</code>兼容('tlsv1.1'、'tlsv1.2'或'tlsv1.3')。
|
||
不兼容的密码套件将被自动删除。
|
||
|
||
例如,如果只有 <code>versions</code> 仅配置为 <code>tlsv1.3</code>。为其他版本配置密码套件将无效。
|
||
|
||
<br/>
|
||
注:PSK 的 Ciphers 不支持 tlsv1.3<br/>
|
||
如果打算使用PSK密码套件 <code>tlsv1.3</code>。应在<code>ssl.versions</code>中禁用。
|
||
|
||
<br/>
|
||
PSK 密码套件:
|
||
<code>"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"</code>"""
|
||
|
||
ciphers_schema_common.label:
|
||
""""""
|
||
|
||
sys_event_client_disconnected.desc:
|
||
"""是否开启客户端已断开连接事件消息。"""
|
||
|
||
crl_cache_refresh_interval.desc:
|
||
"""从服务器刷新CRL的周期。 该配置对所有 URL 和监听器有效。"""
|
||
|
||
crl_cache_refresh_interval.label:
|
||
"""CRL 缓存刷新间隔"""
|
||
|
||
mqtt_listener_proxy_protocol.desc:
|
||
"""如果EMQX集群部署在 HAProxy 或 Nginx 之后,请启用代理协议 V1/2 <br/>
|
||
详情见: https://www.haproxy.com/blog/haproxy/proxy-protocol/"""
|
||
|
||
mqtt_listener_proxy_protocol.label:
|
||
"""Proxy protocol"""
|
||
|
||
mqtt_listener_access_rules.desc:
|
||
"""此监听器的访问控制规则。"""
|
||
|
||
mqtt_listener_access_rules.label:
|
||
"""访问控制规则"""
|
||
|
||
server_ssl_opts_schema_enable_ocsp_stapling.desc:
|
||
"""是否为监听器启用 OCSP Stapling 功能。 如果设置为 true,需要定义 OCSP Responder 的 URL 和证书签发者的 PEM 文件路径。"""
|
||
|
||
server_ssl_opts_schema_enable_ocsp_stapling.label:
|
||
"""启用 OCSP Stapling"""
|
||
|
||
fields_tcp_opts_send_timeout_close.desc:
|
||
"""如果发送超时,则关闭连接。"""
|
||
|
||
fields_tcp_opts_send_timeout_close.label:
|
||
"""TCP 发送超时关闭连接"""
|
||
|
||
sysmon_os_cpu_check_interval.desc:
|
||
"""定期 CPU 检查的时间间隔。"""
|
||
|
||
sysmon_os_cpu_check_interval.label:
|
||
"""定期 CPU 检查的时间间隔"""
|
||
|
||
sysmon_top_sample_interval.desc:
|
||
"""指定应收集进程顶部的频率。"""
|
||
|
||
sysmon_top_sample_interval.label:
|
||
"""取样时间"""
|
||
|
||
fields_mqtt_quic_listener_idle_timeout_ms.desc:
|
||
"""一个连接在被优雅地关闭之前可以空闲多长时间。0 表示禁用超时"""
|
||
|
||
fields_mqtt_quic_listener_idle_timeout_ms.label:
|
||
"""空闲超时 毫秒"""
|
||
|
||
fields_ws_opts_fail_if_no_subprotocol.desc:
|
||
"""如果<code>true</code>,当客户端未携带<code>Sec WebSocket Protocol</code>字段时,服务器将返回一个错误。
|
||
<br/>注意:微信小程序需要禁用此验证。"""
|
||
|
||
fields_ws_opts_fail_if_no_subprotocol.label:
|
||
"""无 subprotocol 则失败"""
|
||
|
||
mqtt_wildcard_subscription.desc:
|
||
"""是否启用对 MQTT 通配符订阅的支持。"""
|
||
|
||
mqtt_wildcard_subscription.label:
|
||
"""通配符订阅可用"""
|
||
|
||
server_ssl_opts_schema_ocsp_refresh_interval.desc:
|
||
"""为服务器刷新OCSP响应的周期。"""
|
||
|
||
server_ssl_opts_schema_ocsp_refresh_interval.label:
|
||
"""OCSP 刷新间隔"""
|
||
|
||
overload_protection_backoff_hibernation.desc:
|
||
"""高负载时,跳过进程休眠。"""
|
||
|
||
overload_protection_backoff_hibernation.label:
|
||
"""跳过休眠"""
|
||
|
||
fields_ws_opts_max_frame_size.desc:
|
||
"""单个 MQTT 数据包的最大长度。"""
|
||
|
||
fields_ws_opts_max_frame_size.label:
|
||
"""最大数据包长度"""
|
||
|
||
sys_event_messages.desc:
|
||
"""客户端事件消息。"""
|
||
|
||
broker_perf_trie_compaction.desc:
|
||
"""是否开启主题表压缩存储。
|
||
启用它会显着提高通配符主题订阅率,如果通配符主题具有唯一前缀,例如:'sensor/{{id}}/+/',其中每个订阅者的 ID 是唯一的。
|
||
如果消息主要发布到具有大量级别的主题,则主题匹配性能(发布时)可能会降低。
|
||
|
||
注意:这是一个集群范围的配置。 它要求在更改之前停止所有节点。"""
|
||
|
||
sysmon_vm_large_heap.desc:
|
||
"""启用后,当一个 Erlang 进程申请了大量内存,系统会触发一条带有 <code>large_heap</code> 关键字的
|
||
warning 级别日志。同时还会发布一条主题为 <code>$SYS/sysmon/busy_dist_port</code> 的 MQTT 系统消息。"""
|
||
|
||
sysmon_vm_large_heap.label:
|
||
"""启用大 heap 监控"""
|
||
|
||
}
|