名字
mosquitto.conf — mosquitto 的配置文件
概要
mosquitto.conf
描述
mosquitto.conf 是 的配置文件 莫斯基托。只要 mosquitto 可以读取,此文件就可以驻留在任何位置 它。默认情况下,mosquitto 不需要配置文件,并且会 使用下面列出的默认值。参见莫斯基托(8) 以获取有关如何加载配置文件的信息。
可以指示 Mosquitto 通过发送来重新加载配置文件 一个 SIGHUP 信号,如 mosquitto(8) 的信号部分所述。 并非所有配置选项都可以重新加载,如以下选项中所述。
认证
下面描述的身份验证选项允许广泛的 与侦听器选项结合使用的可能性。这 部分旨在澄清可能性。有关概述,请访问 Authentication methods | Eclipse Mosquitto
最简单的选择是完全没有身份验证。这是 如果未提供其他选项,则为默认值。未经身份验证 通过使用基于证书的证书提供加密支持 基于 SSL/TLS 的选项证书文件和密钥文件。
MQTT 提供用户名/密码身份验证作为 协议。使用 password_file 选项定义有效的 用户名和密码。请务必使用网络加密,如果 正在使用此选项,否则用户名和密码将是 容易受到拦截。使用 控制是否密码 是全局必需的,还是基于每个侦听器所必需的。per_listener_settings
Mosquitto提供了动态安全插件,用于处理 用户名/密码身份验证和访问控制在很多 比密码文件更灵活的方式。请参阅 Dynamic Security Plugin | Eclipse Mosquitto
使用基于证书的加密时,有三个选项 影响身份验证。第一个是require_certificate,它 可以设置为 true 或 false。如果为 false,则 客户端将验证服务器,但不需要 客户端为服务器提供任何内容:身份验证是 仅限于内置的 MQTT 用户名/密码。如果 require_certificate为 true,则客户端必须提供有效的 证书以成功连接。在这种情况下, 第二和第三选项,use_identity_as_username和 use_subject_as_username,变得相关。如果设置为 true, use_identity_as_username导致公用名 (CN) 从 要使用的客户端证书,而不是 MQTT 用户名 访问控制目的。不使用密码,因为它是 假定只有经过身份验证的客户端才具有有效的证书。 这意味着您在 cafile 或 capath 中包含的任何 CA 证书 将能够颁发有效的客户端证书 连接到您的经纪人。如果use_identity_as_username为假, 客户端必须正常进行身份验证(如果需要 password_file) 通过 MQTT 选项。同样的原则也适用 对于use_subject_as_username选项,但整个证书 主题用作用户名,而不仅仅是 CN。
通过psk_hint使用基于预共享密钥的加密时 和psk_file选项,客户端必须提供有效的标识和 密钥,以便在任何 MQTT 通信之前连接到代理 发生。如果use_identity_as_username为真,则 PSK 标识 用于代替 MQTT 用户名进行访问控制。 如果use_identity_as_username为 false,则客户端可能仍 如果使用 MQTT 用户名/密码进行身份验证,如果使用 password_file选项。
证书和基于 PSK 的加密均在 基于每个侦听器。
可以创建身份验证插件来增强 password_file、acl_file和psk_file选项,例如 .SQL 查找。
可以在以下位置支持多种身份验证方案: 一次。可以创建一个配置,该配置具有所有 上面描述的不同加密选项,因此 身份验证方式的数量。
常规选项
acl_file
文件路径
设置访问控制列表文件的路径。如果 定义,文件的内容用于控制 客户端访问代理上的主题。
如果定义了此参数,则仅主题 列出将具有访问权限。添加了主题访问权限 格式的行:
topic [read|write|readwrite|deny] <topic>
访问类型使用“读取”、“写入”、 “读写”或“拒绝”。此参数是可选的(除非 <主题> 包括空格字符) - 如果不是 给定,则访问权限是读/写的。<主题>可以 包含 + 或 # 通配符,如 订阅。“拒绝”选项可用于显式 拒绝访问否则将授予的主题 通过更广泛的读/写/读写语句。任何“拒绝” 在授予读/写访问权限的主题之前处理主题。
第一组主题应用于匿名 客户端,假设 真。用户特定主题 ACL 在用户之后添加 行如下所示:allow_anonymous
user <username>
此处引用的用户名与 中的用户名相同。它不是 客户端标识。password_file
也可以根据模式定义 ACL 主题内的替换。形式与 对于主题关键字,但使用模式作为 关键词。
pattern [read|write|readwrite|deny] <topic>
可用于替代的模式有:
-
%c 以匹配客户端的客户端 ID
-
%you 以匹配客户端的用户名
替换模式必须是 的唯一文本 那个级别的层次结构。模式 ACL 适用于所有 用户,即使“user”关键字以前是 鉴于。
例:
pattern write sensor/%u/data
允许访问网桥连接消息:
pattern write $SYS/broker/connection/%c/state
如果 ACL 文件行的第一个字符是 # 它被视为注释。
如果为 true
,则此选项适用于 仅配置当前侦听器。如果为 false
,则应用此选项 给所有听众。per_listener_settings
per_listener_settings
重新加载信号时。当前加载的 ACL 将被释放并重新加载。现有订阅将 重新加载后受到影响。
另请参阅 Dynamic Security Plugin | Eclipse Mosquitto
allow_anonymous
[ 真 | 假 ]
确定客户端是否 允许在不提供用户名的情况下连接 连接。如果设置为 false
,则应创建另一种连接方式 控制经过身份验证的客户端访问。
默认为 false
, 除非配置中未定义侦听器 文件,在这种情况下,它设置为 true
, 但只允许从本地计算机进行连接。
如果为 true
,则此选项适用于 仅配置当前侦听器。如果为 false
,则应用此选项 给所有听众。per_listener_settings
per_listener_settings
重要
在版本 1.6.x 及更早版本中,此选项默认为 为 true
,除非有其他证券 选项集。
重新加载信号时。
allow_duplicate_messages
[ 真 | 假 ]
此选项已弃用,将在 未来版本。该行为将默认为 true。
如果客户端订阅了多个订阅 重叠,例如 foo/# 和 foo/+/baz,然后是 MQTT 期望当代理收到消息时 与两个订阅匹配的主题,例如 foo/bar/baz,则客户端应该只接收 消息一次。
Mosquitto跟踪消息具有哪些客户端 为了满足此要求而被发送到。这 选项允许禁用此行为,这可能会 如果您有大量客户端,则很有用 订阅了同一组主题并希望 最小化内存使用量。
如果您事先知道,可以安全地将其设置为 true
您的客户永远不会有重叠 订阅,否则您的客户必须能够 正确处理重复的消息,即使那时 QoS=2。
默认值为 true
。
此选项适用于全球。
重新加载信号时。
allow_zero_length_clientid
[ 真 | 假 ]
MQTT 3.1.1 和 MQTT 5 允许客户端以零连接 长度客户端 ID 并让代理生成客户端 他们的ID。使用此选项允许/禁止此操作 行为。默认值为 true。
另请参阅选项。auto_id_prefix
如果为 true
,则此选项适用于 仅配置当前侦听器。如果为 false
,则应用此选项 给所有听众。per_listener_settings
per_listener_settings
重新加载信号时。
auth_plugin_deny_special_chars
[ 真 | 假 ]
如果为 true
,则在 ACL 之前 检查客户端的用户名/客户端 ID 需要检查搜索是否存在 “+”或“#”字符。如果以下任一 字符在用户名或客户端中找到 id,则 ACL 检查在发送到 插件。
此检查可防止恶意用户出现的情况 可以使用其中之一绕过 ACL 检查 字符作为其用户名或客户端 ID。这是 与莫斯基托本身报告的相同问题为 CVE-2017-7650。
如果您完全确定您的插件 使用不容易受到此攻击(即,如果您 切勿在主题中使用用户名或客户端 ID)然后您 可以禁用此额外检查,从而拥有所有ACL 通过设置此选项检查交付到您的插件 到假
。
默认值为 true
。
适用于正在配置的当前身份验证插件。
当前未在重新加载信号时重新加载。
auto_id_prefix
前缀
如果为 true
,则此选项允许您 设置将前缀为 自动生成的客户端 ID,以帮助查看 原木。默认值为 。allow_zero_length_clientid
auto-
如果为 true
,则此选项适用于 仅配置当前侦听器。如果为 false
,则应用此选项 给所有听众。per_listener_settings
per_listener_settings
重新加载信号时。
autosave_interval
秒
莫斯基托将等待的秒数 每次将内存中数据库保存到 磁盘。如果设置为 0,则内存中数据库将仅 当莫斯奎托退出或收到 SIGUSR1信号。请注意,此设置仅具有 如果启用了持久性,则生效。默认值为 1800 秒(30 分钟)。
此选项适用于全球。
重新加载信号时。
autosave_on_changes
[ 真 | 假 ]
如果属实
,莫斯奎托将 计算保留的订阅更改数 收到的消息和排队的消息以及如果总数 超过然后 内存中的数据库将保存到磁盘。如果为假
,莫斯基托将保存 将内存中的数据库视为磁盘,方法是将时间视为 秒。autosave_interval
autosave_interval
此选项适用于全球。
重新加载信号时。
check_retain_source
[ 真 | 假 ]
此选项会影响客户端时的情况 订阅保留消息的主题。是的 发布保留的客户端可能 对主题的消息在他们当时有访问权限 已发布,但该访问权限随后已发布 删除。如果已设置 为 true,默认值,保留消息的来源 将在它之前检查访问权限 再版。设置为 false 时,不会进行任何检查 并且保留的消息将始终是 发表。check_retain_source
无论选项如何,此选项都适用于全局。per_listener_settings
clientid_prefixes
前缀
此选项已弃用,将在 未来版本。
如果已定义,则仅具有具有 允许与clientid_prefixes匹配的前缀 以连接到代理。例如,设置 这里的“安全-”是指客户端“安全客户端” 可以连接,但另一个客户端 ID 为“MQTT” 不能。默认情况下,所有客户端 ID 都有效。
此选项适用于全球。
重新加载信号时。请注意,目前 连接的客户端将不受任何影响 变化。
connection_messages
[ 真 | 假 ]
如果设置为 true
,则日志 将包括客户端连接时的条目和 断开。如果设置为 false
, 这些条目将不会显示。
此选项适用于全球。
重新加载信号时。
include_dir
目录
可以使用以下方法包含外部配置文件 include_dir选项。这定义了一个目录 将搜索配置文件。所有结束的文件 在“.conf”中将作为配置文件加载。它 最好将其作为主选项中的最后一个选项 文件。此选项将仅从主 配置文件。指定的目录不得 包含主配置文件。
加载中的配置文件以防万一 敏感的字母顺序,大写 每个字母在相同小写字母之前排序 信。include_dir
给定文件 b.conf, A.conf, 01.conf, a.conf, B.conf, 和 00.conf
里面的配置文件 将按以下顺序加载:include_dir
<span style="background-color:whitesmoke"><span style="color:#4a4a4a">00.conf
01.conf
A.conf
a.conf
B.conf
b.conf
</span></span>
如果多次使用此选项,则处理每个选项 完全按照它们在 主配置文件。include_dir
假设目录 one.d
包含 文件 B.conf
和 C.conf
,以及第二个 目录 two.d
包含文件 A.conf
和 D.conf
,以及 配置:
<span style="background-color:whitesmoke"><span style="color:#4a4a4a">include_dir one.d
include_dir two.d
</span></span>
然后配置文件将按以下顺序加载:
<span style="background-color:whitesmoke"><span style="color:#4a4a4a"># files from one.d
B.conf
C.conf
# files from two.d
A.conf
D.conf
</span></span>
log_dest
目的地
将日志消息发送到特定目标。 可能的目的地是: 。stdout
stderr
syslog
topic
file
dlt
stdout
并登录到控制台上的 命名输出。stderr
syslog
使用用户空间系统日志 通常以 /var/log/messages 或 /var/log 或 类似。
topic
记录到代理主题 “$SYS/broker/log/<严重性>”,其中严重性为 E、W、N、I、M 中的错误之一, 警告、通知、信息和消息。消息类型 严重性由订阅和取消订阅使用 log_type选项并在 $SYS/broker/log/M/subscribe和 $SYS/broker/log/M/取消订阅。调试消息从不 已登录的主题。
目的地需要 附加参数,它是要记录到的文件, 例如“log_dest文件 /var/log/mosquitto.log”。该文件 将在经纪人收到 HUP信号。只能有一个文件目标 配置。file
目的地是 汽车“诊断日志和跟踪”工具。这 要求Mosquitto已使用DLT编译 支持。dlt
如果您希望禁用日志记录,请使用“log_dest无”。 默认为 stderr。可以指定此选项 多次。
请注意,如果代理作为 Windows 运行 服务它将默认为“log_dest无”,两者都不是 STDOUT 和 STDERR 日志记录可用。
重新加载信号时。
log_facility
当地设施
如果使用系统日志日志记录(不在 Windows 上),则消息 默认情况下将记录到“守护程序”工具中。用 选择的选项 要登录到本地 0 到本地 7 中的哪个。选项 值应为整数值,例如“log_facility 5” 以使用本地 5。log_facility
log_timestamp
[ 真 | 假 ]
布尔值,如果设置为 true
,则时间戳值将 添加到每个日志条目。默认值为 true
。
重新加载信号时。
log_timestamp_format
格式
设置日志时间戳的格式。如果未设置, 这是自 Unix 纪元以来的秒数。 此选项是将传递的自由文本字符串 到 strftime 函数作为格式说明符。自 获取 ISO 8601 日期时间,例如:
<span style="background-color:whitesmoke"><span style="color:#4a4a4a">log_timestamp_format %Y-%m-%dT%H:%M:%S
</span></span>
重新加载信号时。
log_type
类型
选择要记录的消息类型。可能的类型包括:调试
、错误
、警告
、通知
、信息
、订阅、取消订阅
、websockets
、无
、全部
。
默认为错误
、警告
、通知
和信息
。此选项 可以多次指定。请注意,调试
类型(用于 解码传入/传出网络数据包)永远不会 已登录的主题。
重新加载信号时。
max_inflight_bytes
计数
传出 QoS 1 和 2 消息将允许在传输中,直到此字节 已达到限制。这允许根据以下条件控制传出消息速率 邮件大小而不是邮件计数。如果限制设置为 100, 仍然允许超过 100 字节的消息,但只允许一条消息 可以一次飞行。默认值为 0。(无限制)。
另请参阅选项。max_inflight_messages
此选项适用于全球。
重新加载信号时。
max_inflight_messages
计数
可以传出 QoS 1 或 2 消息的最大数量 在同时传输的过程中。 这包括当前正在通过的邮件 正在重试的握手和消息。 默认值为 20。设置为 0 表示无最大值。如果设置为 1, 这将保证按顺序交付 消息。
此选项适用于全球。
重新加载信号时。
max_keepalive
值
对于 MQTT v5 客户端,可以具有 服务器发送一个“服务器保持活动状态”值,该值将 覆盖客户端设置的激活值。这 旨在用作一种机制,以表示 服务器将提前断开客户端的连接 预期,并且客户端应使用新的 保持活力价值。max_keepalive选项允许您 指定客户端只能与 keepalive 连接 小于或等于此值,否则它们将 被发送一个服务器保持连接,告诉他们使用 max_keepalive。这仅适用于 MQTT v5 客户端。 允许的最大值和默认值为 65535.
设置为 0 以允许客户端设置 keepalive = 0,这 意味着不进行保活检查,客户端将 如果没有消息,则永远不会被代理断开连接 收到。你应该非常确定这是行为 你想要的。
对于 MQTT v3.1.1 和 v3.1 客户端,没有机制 告诉客户他们应该使用什么 keepalive 值。 如果 MQTT v3.1.1 或 v3.1 客户端指定了保持连接 时间大于max_keepalive,他们将被发送 具有“标识符被拒绝”原因的 CONNACK 消息 代码,并断开连接。
此选项适用于全球。
重新加载信号时。
max_packet_size
值
对于 MQTT v5 客户端,可以具有 服务器发送一个“最大数据包大小”值,该值将 指示客户端不接受 MQTT 数据包 大小大于字节。 这适用于完整的 MQTT 数据包,而不仅仅是 有效载荷。将此选项设置为正值将 将最大数据包大小设置为该字节数。如果 客户端发送的数据包大于此值 值,它将断开连接。这适用于所有 客户端,无论其协议版本如何 使用,但 v3.1.1 及更早版本的客户端当然会 未收到最大数据包大小信息。 默认为无限制。value
此选项适用于所有客户端,而不仅仅是那些 使用 MQTT v5,但无法通知客户端 使用 MQTT v3.1.1 或 MQTT v3.1 的限制。
禁止设置为 20 字节以下,因为它是 甚至可能干扰正常的客户端操作 有效载荷小。
此选项适用于全球。
重新加载信号时。
max_queued_bytes
计数
传出 QoS 1 和 2 消息的数量高于当前正在进行的消息数为 由代理排队(每个客户端)。一旦达到此限制,后续 消息将被静默丢弃。如果您要发送,这是一个重要的选择 消息速率高和/或客户端响应缓慢或可能处于脱机状态 长时间。默认值为 0。(无最大值)。
另请参阅选项。 如果同时指定了max_queued_messages和max_queued_bytes, 数据包将排队,直到达到第一个限制。max_queued_messages
此选项适用于全球。
重新加载信号时。
max_queued_messages
计数
要保留的最大 QoS 1 或 2 消息数 队列(每个客户端)位于当前消息上方 在飞行中。默认值为 1000。设置为 0 表示无最大值(不是 推荐)。另请参阅 和 选项。queue_qos0_messages
max_queued_bytes
此选项适用于全球。
重新加载信号时。
memory_limit
限制
此选项设置代理的最大堆内存字节数 将分配,从而对代理的内存使用设置硬性限制。 超过此值的内存请求将被拒绝。效果将 根据被拒绝的内容而有所不同。如果传入消息正在 处理,然后消息将被丢弃,发布客户端将被丢弃 将断开连接。如果正在发送传出消息,则 单个消息将被丢弃,接收客户端将被丢弃 断开。默认为无限制。
仅当编译了内存跟踪支持时,此选项才可用 在。
重新加载信号时。设置为较低的值并重新加载将 不会导致内存被释放。
message_size_limit
限制
此选项设置最大发布有效负载大小 经纪人将允许。收到的消息 超过此大小将不被经纪人接受。这意味着 消息不会转发到订阅客户端,但 QoS 流 将完成 QoS 1 或 QoS 2 消息。使用 QoS 5 的 MQTT v1 客户端 或 QoS 2 将收到带有“实现特定”的 PUBACK 或 PUBREC 错误“原因码。
默认值为 0,表示所有有效的 MQTT 接受消息。MQTT 施加最大有效负载 268435455 字节的大小。
此选项适用于全球。
重新加载信号时。
password_file
文件路径
设置密码文件的路径。如果定义,则 文件的内容用于控制客户端访问 给经纪人。可以使用 mosquitto_passwd(1) 创建文件 效用。如果在不支持 TLS 的情况下编译 mosquitto (建议包括 TLS 支持),然后 密码文件应为每行的文本文件 在“用户名:密码”格式中,冒号和 密码是可选的,但建议使用。如果设置为 false
,则仅在 此文件将能够连接。定义 password_file
时设置为 true
为 有效,可以与acl_file一起使用,例如读取 仅来宾/匿名帐户和定义的用户 可以发布。allow_anonymous
allow_anonymous
如果为 true
,则此选项适用于 仅配置当前侦听器。如果为 false
,则应用此选项 给所有听众。per_listener_settings
per_listener_settings
重新加载信号时。当前加载的 用户名和密码数据将被释放并重新加载。 已连接的客户端将不会 影响。
另见mosquitto_passwd(1)和 Dynamic Security Plugin | Eclipse Mosquitto
per_listener_settings
[ 真 | 假 ]
如果为真
,则 身份验证和访问控制设置将是 基于每个侦听器进行控制。以下 选项会受到影响:
password_file
, , , , , .acl_file
psk_file
allow_anonymous
allow_zero_length_clientid
auto_id_prefix
plugin
, ,plugin_opt_*
请注意,如果设置为 true,则持久客户端(即 干净会话设置为 false)已断开连接 将使用为侦听器定义的 ACL 设置 它是最近连接到的。
默认行为是将其设置为 false
,这将保持 以前版本的设置行为 莫斯基托。
重新加载信号时。
持久性
[ 真 | 假 ]
如果为 true
,则连接, 订阅和消息数据将写入 莫斯基托的磁盘.db在指定的位置 persistence_location。当莫斯基托重新启动时,它 将重新加载存储在莫斯基托.db中的信息。这 当 Mosquitto 关闭时,数据将写入磁盘,并且 也按定义的定期间隔 autosave_interval。写入持久性数据库 也可以通过发送莫斯基托SIGUSR1 信号。如果为 false
,则数据 将仅存储在内存中。默认为 false
。
持久性文件可能会在新的 版本。代理当前可以读取所有旧格式, 但只会以最新格式保存。它应该始终 可以安全地升级,但谨慎的用户可能希望采取 在安装新的持久性文件之前的副本 版本,以便他们可以回滚到早期版本 如有必要。
此选项适用于全球。
重新加载信号时。
persistence_file文件名
用于持久性数据库的文件名。 默认为 mosquitto.db。
此选项适用于全球。
重新加载信号时。
persistence_location
路径
持久性数据库应位于的路径 数据处理。如果未给出,则使用当前目录。
此选项适用于全球。
重新加载信号时。
persistent_client_expiration
持续时间
此选项允许持久客户端(具有干净 会话设置为 false),如果当前未连接,则删除 不要在特定时间范围内重新连接。这是一个非标准选项 在 MQTT v3.1 中。MQTT v3.1.1 和 v5.0 允许代理删除客户端会话。
设计不良的客户端可能会在使用随机会话时将干净会话设置为 false。 生成的客户端 ID。这会导致持久客户端连接一次 永远不要重新连接。此选项允许删除这些客户端。此选项 允许持久客户端(干净会话设置为 false 的客户端)为 如果它们在特定时间范围内未重新连接,则将其删除。
过期期限应为后跟的整数 小时、日、周、月和年之一 分别。例如:
-
persistent_client_expiration 2米
-
persistent_client_expiration 14d
-
persistent_client_expiration 1年
由于这是一个非标准选项,如果不是,则默认 SET 为永不使持久客户端过期。
此选项适用于全球。
重新加载信号时。
pid_file
文件路径
将 pid 文件写入指定的文件。如果未给出 (默认值),不会写入任何 pid 文件。如果 pid 无法写入文件,莫斯基托将退出。
如果 mosquitto 由 初始化脚本通常需要编写PID 文件。然后应将其配置为例如 /var/run/mosquitto/mosquitto.pid
在重新加载信号时未重新加载。
plugin_opt_*
值
要传递给 配置文件。查看具体 插件说明,了解详细信息 选项可用。plugin
适用于正在配置的当前插件。
这也作为选项提供,但此用法已弃用,将被删除 在将来的版本中。auth_opt_*
插件
文件路径
指定用于身份验证的外部模块 和访问控制。这允许自定义 用户名/密码和访问控制功能 创建。
可以多次指定以加载多个 插件。插件将按顺序处理 它们被指定。
如果在配置文件中使用 或 沿大小,插件 检查将在内置检查之后运行。password_file
acl_file
plugin
当前未在重新加载信号时重新加载。
另请参阅 Dynamic Security Plugin | Eclipse Mosquitto
这也作为选项提供,但此用法已弃用,将被删除 在将来的版本中。auth_plugin
psk_file
文件路径
设置预共享密钥文件的路径。此选项 要求侦听器启用 PSK 支持。如果 定义,文件的内容用于控制 客户端对代理的访问。每一行都应位于 格式“身份:键”,其中键是十六进制 没有前导“0x”的字符串。连接到 启用了 PSK 支持的侦听器必须提供 匹配身份和 PSK 以允许加密 连接以继续。
如果为 true
,则此选项适用于 仅配置当前侦听器。如果为 false
,则应用此选项 给所有听众。per_listener_settings
per_listener_settings
重新加载信号时。当前加载的 身份和密钥数据将被释放并重新加载。 已连接的客户端将不会 影响。
queue_qos0_messages
[ 真 | 假 ]
设置为 true
表示队列 当持久客户端为 断开。当网桥主题配置为 QoS 级别 0 或 1 传入时 这些主题的 QoS 2 消息也会排队。 这些消息包含在限制中 由max_queued_messages强加。默认为 false
。
请注意,MQTT v3.1.1 规范规定只有 QoS 1 在这种情况下应保存 2 条消息,以便 这是一个非标准选项。
此选项适用于全球。
重新加载信号时。
retain_available
[ 真 | 假 ]
如果设置为 false,则保留的邮件不是 支持。发送带有保留的消息的客户端 如果此选项设置为 假。默认值为 true。
此选项适用于全球。
重新加载信号时。
set_tcp_nodelay
[ 真 | 假 ]
如果设置为 true,则将TCP_NODELAY选项设置为 客户端套接字以禁用 Nagle 算法。这 具有减少某些消息延迟的效果 可能会增加 TCP 数据包的数量 被发送。默认为 false。
此选项适用于全球。
重新加载信号时。
sys_interval
秒
更新之间的整数秒数 $SYS提供状态的订阅层次结构 有关代理的信息。如果未设置,则默认为 10 秒。
设置为 0 可禁用发布$SYS层次结构 完全。
此选项适用于全球。
重新加载信号时。
upgrade_outgoing_qos
[ 真 | 假 ]
MQTT 规范要求 传递到订阅者的消息永远不会升级到 匹配订阅的 QoS。启用此选项 改变此行为。如果设置为 true
,则发送到 订户将始终匹配其 QoS 订阅。这是一个非标准选项,不是 规范提供。默认为 false
。upgrade_outgoing_qos
此选项适用于全球。
重新加载信号时。
用户
用户名
以 root 身份运行时,请更改为此用户及其主用户 启动组。如果设置为“mosquitto”或未设置, 如果“莫斯奎托”用户不存在,则 Mosquitto将改为“nobody”用户。 如果将其设置为另一个值,并且无法 要更改为此用户和组,它将退出,并显示 错误。指定的用户必须具有读/写访问权限 到持久性数据库(如果要写入)。如果 以非 root 用户身份运行,此设置不起作用。 默认为 mosquitto。
此设置对 Windows 没有影响,因此您 应该以您希望它运行的用户身份运行 Mosquitto 如。
在重新加载信号时未重新加载。
听众
可以控制 mosquitto 监听的网络端口 使用侦听器。可以覆盖默认侦听器选项,并且 可以创建更多侦听器。
常规选项
bind_address
地址
此选项已弃用,将在 未来版本。请改用。listener
侦听传入的网络连接 仅指定的 IP 地址/主机名。这很有用 以限制对某些网络接口的访问。 将 mosquitto 的访问限制为本地主机 仅使用“bind_address本地主机”。这仅 适用于默认侦听器。使用该选项控制其他 听众。listener
建议使用显式而不是依赖 像这样的隐式默认侦听器选项。listener
在重新加载信号时未重新加载。
bind_interface
设备
仅在 上侦听传入网络连接 指定的接口。这类似于该选项,但很有用 当接口具有多个地址或 地址可能会更改。bind_address
如果与默认值同时使用 侦听器或绑定 的地址/主机
部分,然后将优先。bind_address
listener
bind_interface
此选项在 Windows 上不可用。
在重新加载信号时未重新加载。
http_dir
目录
当侦听器使用 websockets 协议时, 也可以提供HTTP数据。设置为目录 包含您要提供的文件。如果这个 选项未指定,则没有正常的 HTTP 连接将是可能的。http_dir
在重新加载信号时未重新加载。
侦听
器端口
[绑定地址/主机/UNIX 套接字路径]
侦听传入的网络连接 指定的端口。第二个可选参数允许 要绑定到特定 IP 的侦听器 地址/主机名。如果使用此变量并且 既不使用全局选项也不使用选项,则 默认侦听器将不会启动。bind_address
port
选项 允许将此侦听器绑定到特定 IP 通过传递 IP 地址或主机名的地址。为 WebSockets侦听器,只能通过 此处的 IP 地址。bind address/host
在支持 Unix 域套接字的系统上,这 选项也可用于创建Unix套接字 而不是打开 TCP 套接字。在这种情况下,端口必须 设置为 0,并且必须提供 UNIX 套接字路径。
可以多次指定此选项。看 也是选项。mount_point
在重新加载信号时未重新加载。
max_connections
计数
限制连接的客户端总数 当前侦听器。设置为具有“无限”连接。请注意,其他 可能会施加超出控制范围的限制 莫斯基托。参见例如限制。-1
在重新加载信号时未重新加载。
max_qos值
限制客户端连接到此值时允许的 QoS 值 听者。默认值为 2,这意味着任何 QoS 都可以 使用。设置为 0 或 1 以限制为这些 QoS 值。 这利用 MQTT v5 功能来通知 限制的客户。MQTT v3.1.1 客户端将 不知道限制。客户端发布 对于这个QoS过高的侦听器将是 断开。
在重新加载信号时未重新加载。
max_topic_alias编号
此选项设置最大主题别名数 允许创建 MQTT v5 客户端。此选项 适用于每个侦听器。默认值为 10。设置为 0 到 禁止使用主题别名。可能的最大值为 65535。
在重新加载信号时未重新加载。
mount_point
主题前缀
此选项与侦听器选项一起使用 隔离客户端组。当客户端连接时 对于使用此选项的侦听器,字符串 参数附加到所有主题的开头 此客户端。当出现任何前缀时,将删除此前缀 消息将发送到客户端。这意味着 连接到具有挂载点的侦听器的客户端示例只能看到 在主题层次结构示例中
及更低版本中发布的消息。
在重新加载信号时未重新加载。
端口
端口号
此选项已弃用,将在 未来版本。请改用。listener
将默认侦听器的网络端口设置为 听着。默认值为 1883。
在重新加载信号时未重新加载。
建议使用显式而不是依赖 像这样的隐式默认侦听器选项。listener
协议
值
设置当前侦听器要接受的协议。能 为 、默认值或(如果可用)。mqtt
websockets
Websocket 支持目前由 编译时默认。可以使用基于证书的 TLS 使用 WebSocket,除了只有 、、 、 和 选项是 支持。cafile
certfile
keyfile
ciphers
ciphers_tls1.3
在重新加载信号时未重新加载。
socket_domain
[ IPv4 | IPv6 ]
默认情况下,侦听器将尝试侦听 所有支持的 IP 协议版本。如果你不这样做 具有您可能希望的 IPv4 或 IPv6 接口 禁用对任一协议的支持 版本。特别要注意的是,由于 WebSockets库的限制,它只会 尝试打开 IPv6 套接字(如果支持 IPv6) 被编译,因此如果 IPv6 不是,则会失败 可用。
设置为 以强制 侦听器仅使用 IPv4,或设置为 以强制侦听器仅使用 使用 IPv6。如果您希望同时支持 IPv4 和 IPv6,则不要使用该选项。ipv4
ipv6
socket_domain
在重新加载信号时未重新加载。
use_username_as_clientid
[ 真 | 假 ]
设置为 如果为 true,则替换客户端的客户端 ID 与其用户名连接。这允许 要绑定到客户端 ID 的身份验证,即 意味着可以防止一个客户端 使用相同的断开另一个连接 客户端标识。默认为 false。use_username_as_clientid
If a client connects with no username it will be disconnected as not authorised when this option is set to true. Do not use in conjunction with .clientid_prefixes
This does not apply globally, but on a per-listener basis.
See also .use_identity_as_username
Not reloaded on reload signal.
websockets_log_level
level
Change the websockets logging level. This is a global option, it is not possible to set per listener. This is an integer that is interpreted by libwebsockets as a bit mask for its lws_log_levels enum. See the libwebsockets documentation for more details.
To use this option, must also be enabled. Defaults to 0.log_type websockets
websockets_headers_size
size
Change the websockets headers size. This is a global option, it is not possible to set per listener. This option sets the size of the buffer used in the libwebsockets library when reading HTTP headers. If you are passing large header data such as cookies then you may need to increase this value. If left unset, or set to 0, then the default of 1024 bytes will be used.
Certificate based SSL/TLS Support
The following options are available for all listeners to configure certificate based SSL support. See also "Pre-shared-key based SSL/TLS support".
cafile
file path
cafile
is used to define the path to a file containing the PEM encoded CA certificates that are trusted when checking incoming client certificates.
capath
directory path
capath
is used to define a directory that contains PEM encoded CA certificates that are trusted when checking incoming client certificates. For to work correctly, the certificates files must have ".pem" as the file ending and you must run "openssl rehash <path to capath>" each time you add/remove a certificate. capath
证书文件
文件路径
PEM 编码服务器证书的路径。这 选项,并且必须存在 以启用基于证书的 TLS 加密。keyfile
此选项指向的证书将是 当莫斯基托收到 SIGHUP 信号时重新加载。 这可用于在 现有版本即将过期。
密码 密码:列表
此侦听器允许的密码列表,用于 仅限 TLS v1.2 及更早版本,每个版本使用 一个冒号。可以使用以下方法获取可用的密码 “OpenSSL密码”命令。
ciphers_tls1.3
密码:列表
此侦听器允许的密码套件列表, 对于 TLS v1.3,每个都用冒号分隔。
crlfile
文件路径
如果设置为 true
,则可以 创建要吊销的证书吊销列表文件 访问特定客户端证书。如果你 已完成此操作,请使用 crlfile 指向 PEM 编码的吊销文件。require_certificate
DHparam
文件文件路径
为了允许使用临时的DH密钥交换, 提供转发安全性,侦听器必须 加载 DH 参数。这可以使用 DHparamfile 选项。dhparamfile 可以是 使用命令生成,例如
<span style="color:#4a4a4a"><span style="background-color:#ffffff"><span style="background-color:whitesmoke"><span style="color:#4a4a4a">openssl dhparam -out dhparam.pem 2048</span></span></span></span>
密钥文件
文件路径
如果等于“pem”,则为 PEM 编码的服务器密钥的路径。此选项 并且必须在场 以启用基于证书的 TLS 加密。如果是“引擎”,这代表 私钥的引擎句柄。tls_keyform
certfile
tls_keyform
此选项指向的私钥将是 当莫斯基托收到 SIGHUP 信号时重新加载。 这可用于在 现有版本即将过期。
require_certificate
[ 真 | 假 ]
默认情况下,启用 SSL/TLS 的侦听器将 以类似于启用 HTTPS 的 Web 的方式运行 服务器,因为服务器具有签名的证书 由 CA 和客户端验证它是否为 受信任的证书。总体目标是加密 的网络流量。通过设置为 true
,客户端连接 对此侦听器必须提供有效的证书 命令继续网络连接。这 允许在外部控制对代理的访问 MQTT 提供的机制。require_certificate
tls_engine
引擎
有效的 openssl 引擎 ID。这些可以列出 打开 ssl 引擎命令。
tls_engine_kpass_sha1
engine_kpass_sha1
使用私钥密码时的 SHA1 TLS 引擎。某些 TLS 引擎,例如 TPM 引擎可能需要使用密码才能 要访问。此选项允许十六进制编码 SHA1哈希的密码直接给引擎, 而不是提示用户输入 密码。
tls_keyform
[ PEM | 发动机 ]
指定在以下情况下使用的私钥的类型 建立 TLS 连接..这可以是“pem”或 “引擎”。当 TPM 模块正在使用,私钥已被使用 用它创建。默认为“pem”,表示 使用普通私钥文件。
tls_version
版本
将 TLS 协议的最低版本配置为 用于此侦听器。可能的值为 tlsv1.3、tlsv1.2 和 tlsv1.1
。 如果未设置, 默认允许 TLS v1.3 和 v1.2。
在 Mosquitto 版本 1.6.x 及更早版本中,这 选项设置唯一的 TLS 协议版本 是允许的,而不是最低限度。
use_identity_as_username
[ 真 | 假 ]
如果为 true,则可以设置为 true
以使用 CN 值 从客户端证书作为用户名。如果这个 为真
,该选项不会 用于此侦听器。require_certificate
use_identity_as_username
password_file
如果两者兼而有之,则优先 设置为 true
。use_subject_as_username
参见use_subject_as_username
use_subject_as_username
[ 真 | 假 ]
如果为 true,则可以设置为 true
以使用完整的主题值 从客户端证书作为用户名。如果这个 为真
,该选项不会 用于此侦听器。require_certificate
use_subject_as_username
password_file
主题将以类似的形式生成 自。CN=test client,OU=Production,O=Server,L=Nottingham,ST=Nottinghamshire,C=GB
参见use_identity_as_username
基于预共享密钥的 SSL/TLS 支持
以下选项可供所有侦听器 配置基于预共享密钥的 SSL 支持。参见 “基于证书的 SSL/TLS 支持”。
密码 密码:列表
使用 PSK 时,使用的加密密码将 从可用 PSK 密码列表中选择。 如果要控制哪些密码可用, 使用此选项。可用密码列表可以 使用“OpenSSL密码”命令进行访问,并且 应以与输出相同的格式提供 的命令。
psk_hint
提示
该选项启用 对此侦听器的预共享密钥支持,以及 充当此侦听器的标识符。提示 发送给客户,并可在当地用于帮助 认证。提示是一个自由格式的字符串,它 本身没有太多意义,所以请随意 要有创意。psk_hint
如果提供了此选项,请参阅定义预共享 要使用的密钥或创建安全插件以 处理它们。psk_file
tls_version
版本
将 TLS 协议的最低版本配置为 用于此侦听器。可能的值为 tlsv1.3、tlsv1.2 和 tlsv1.1
。 如果未设置, 允许 TLS v1.3 和 v1.2 的默认值。
在 Mosquitto 版本 1.6.x 及更早版本中,这 选项设置唯一的 TLS 协议版本 是允许的,而不是最低限度。
use_identity_as_username
[ 真 | 假 ]
设置为 将客户端发送的 PSK 标识用作 它的用户名。用户名将被检查为 正常,所以或 身份验证检查的另一种方法必须是 使用。不会使用密码。use_identity_as_username
password_file
配置网桥
可以配置多个网桥(与其他代理的连接) 使用以下变量。
网桥目前无法在重新加载信号时重新加载。
地址地址[:p ort
] [地址[:p ort]],
地址地址[:p ort] [地址[:p ort
]]
指定地址和端口(可选) 要连接的网桥。必须为每个提供 桥接连接。如果未指定端口,则 使用默认值 1883。
如果使用 IPv6 地址,则端口不是 自选。
可以在 地址配置。有关桥梁行为的更多详细信息,请参阅该选项 具有多个地址。round_robin
bridge_attempt_unsubscribe
[ 真 | 假 ]
如果桥的主题具有“外”方向,则 默认行为是将取消订阅请求发送到 该主题的远程代理。这意味着 将主题方向从“入”更改为“出”不会 继续接收传入的消息。发送这些 取消订阅请求并不总是可取的,设置为 false
将禁用发送 取消订阅请求。默认值为 true
。bridge_attempt_unsubscribe
bridge_bind_address
IP 地址
如果您需要让网桥通过特定连接 网络接口,使用 bridge_bind_address 告诉 桥接套接字应绑定到哪个本地 IP 地址, 例如.bridge_bind_address 192.168.1.10
bridge_max_packet_size
值
如果您希望限制发送到 远程网桥,请使用此选项。这将设置最大值 总消息的字节数,包括标头 和有效载荷。请注意,MQTT v5 代理可能会提供其 拥有最大数据包大小属性。在这种情况下, 将使用两个限制中较小的一个。设置为 0 表示 “无限”。
bridge_outgoing_retain
[ 真 | 假 ]
某些 MQTT 代理不允许保留消息。MQTT v5 给出 经纪人告诉客户他们不支持的机制 保留消息,但这对于 MQTT v3.1.1 或 v3.1 是不可能的。 如果您需要桥接到不支持的 v3.1.1 或 v3.1 代理 保留的邮件中,将选项设置为 false
。这将删除 保留到该桥的所有传出消息的位,无论任何 其他设置。默认值为 true
。bridge_outgoing_retain
bridge_protocol_version
版本
设置要用于 的 MQTT 协议的版本 这座桥。可以是 mqttv50、mqttv311 或 mqttv31
之一。默认为 mqttv311
。
清洁会话
[ 真 | 假 ]
为此网桥设置清理会话选项。设置 为 false
(默认值), 意味着远程代理上的所有订阅都是 保持以防网络连接断开。如果已设置 为 true
,所有订阅 并且远程代理上的消息将被清除,如果 连接断开。请注意,设置为 true
可能会导致 每次发送的保留消息数 网桥重新连接。
如果您使用的是设置为 false
(默认值)的网桥,则 您可能会从传入的主题中获得意外行为 如果您更改要订阅的主题。这 是因为远程代理保留订阅 老话题。如果您遇到此问题,请连接您的 设置为 true
的网桥,然后重新连接 清理会话设置为 false
为 正常。cleansession
cleansession
local_cleansession
[ 真 | 假]
常规涵盖两个本地订阅 和远程订阅。local_cleansession允许拆分它。 设置 false
将意味着本地连接 将保留订阅,独立于远程连接。cleansession
默认为 bridge.cleansession 的值,除非明确指定。
连接
名称
此变量标志着新桥的开始 连接。它也被用来给桥起一个名字 用作远程上的客户端 ID 代理。
keepalive_interval
秒
设置网桥之后的秒数 如果没有发生其他流量,应发送 ping。 默认值为 60。最小值为 5 秒 是允许的。
idle_timeout
秒
使用延迟启动设置网桥的时间量 类型必须处于空闲状态,然后才能停止。违约 到 60 秒。
local_clientid
编号
设置要在本地代理上使用的客户机标识。如果不是 定义,则默认为 。如果你是 将经纪人与自身联系起来,重要的是 local_clientid和remote_clientid不匹配。local.<remote_clientid>
local_password
密码
配置连接时使用的密码 这是通往当地经纪人的桥梁。这可能很重要 使用身份验证和 ACL 时。
local_username
用户名
配置连接时要使用的用户名 这是通往当地经纪人的桥梁。这可能很重要 使用身份验证和 ACL 时。
通知
[ 真 | 假 ]
如果设置为 true
,则发布 向本地和远程代理发送通知消息 提供有关桥梁状态的信息 连接。保留的邮件将发布到 主题 $SYS/代理/连接/<remote_clientid>/状态 除非另有设置与 S.如果消息 为 1 表示连接处于活动状态,如果 连接失败。默认值为 true
。notification_topic
这将使用最后遗嘱和遗嘱 (LWT) 功能。
notifications_local_only
[ 真 | 假 ]
如果设置为 true
,则仅发布 通知消息给本地经纪人 有关网桥连接状态的信息。 默认为 false
。
notification_topic
主题
选择通知的主题 为此桥发布。如果未设置,消息将 发送有关该主题的信息 $SYS/broker/connection/<remote_clientid>/state。
remote_clientid
标识
设置此网桥连接的客户端 ID。如果不是 定义,默认为“name.hostname”,其中名称 是连接名称,主机名是主机名 这台电脑。
这替换了旧的“clientid”选项以避免 与桥的本地/偏远两侧混淆。 “客户端 ID”暂时仍然有效。
remote_password值
配置网桥的密码。这用于 连接到代理时的身份验证目的 支持 MQTT v3.1 及更高版本,需要用户名 和/或密码进行连接。此选项仅有效 如果还提供remote_username。
这取代了旧的“密码”选项以避免 与桥的本地/偏远两侧混淆。 “密码”暂时有效。
remote_username名称
配置网桥的用户名。这用于 连接到代理时的身份验证目的 支持 MQTT v3.1 及更高版本,需要用户名 和/或密码进行连接。另请参阅选项。remote_password
这替换了旧的“用户名”选项以避免 与桥的本地/偏远两侧混淆。 “用户名”暂时有效。
restart_timeout
基帽
,restart_timeout
恒定
使用自动设置网桥的时间量 启动类型将等待,直到尝试重新连接。
此选项可以配置为使用恒定延迟 时间(以秒为单位),或使用基于 “去相关抖动”,增加了一定程度的 随机到重新启动发生的时间,从 基础并增加到上限。设置常量 超时 20 秒:
<span style="color:#4a4a4a"><span style="background-color:#ffffff"><span style="background-color:whitesmoke"><span style="color:#4a4a4a">restart_timeout 20</span></span></span></span>
设置回退,基本(起始值)为 10 秒,上限(上限 限制)为 60 秒:
<span style="color:#4a4a4a"><span style="background-color:#ffffff"><span style="background-color:whitesmoke"><span style="color:#4a4a4a">restart_timeout 10 30</span></span></span></span>
默认为抖动,以 5 秒和上限为基数 30秒。
round_robin
[ 真 | 假 ]
如果网桥在 地址/地址配置,round_robin选项 定义桥在 桥接连接。如果round_robin为 false,则默认值为 false
, 然后第一个地址被视为主网桥 连接。如果连接失败,另一个 将依次尝试辅助地址。而 连接到辅助网桥,网桥将 定期尝试重新连接到主网桥 直到成功。
如果round_robin属实
, 然后,所有地址都被视为相等。如果 连接失败,将尝试下一个地址,如果 成功将保持连接,直到失败。
start_type
[ 自动 | 懒惰 | 一次 ]
设置网桥的起始类型。这将控制如何 桥开始,可以是以下三种类型之一:自动
、惰性和
一次
。注意 RSMB提供了第四种启动类型“手动”,该 目前不受 Mosquitto 支持。
自动
是默认值 启动类型,表示网桥连接将是 当经纪人启动时自动启动,也 在短暂延迟(30 秒)后重新启动,如果 连接失败。
使用延迟
启动类型的网桥将在以下情况下自动启动 排队的邮件数超过用 选项。这将是 在参数设置的时间后自动停止。使用此开始 如果希望连接仅在以下情况下处于活动状态,请键入 这是需要的。threshold
idle_timeout
使用一次
启动类型的网桥将在以下情况下自动启动 代理启动,但如果 连接失败。
阈值
计数
设置需要排队的邮件数 要重新启动的具有延迟启动类型的网桥。 默认为 10 条消息。
主题
模式
[[ 输出 | 输入 | 两者] QoS 级别] 本地前缀远程前缀]
定义要在两者之间共享的主题模式 经纪人。任何与模式匹配的主题(可能 包括通配符)是共享的。第二个参数 定义消息的共享方向 in,因此可以从远程导入消息 代理使用输入
,导出 使用或
共享消息发送到远程代理的消息 双向。如果未定义此参数,则 使用默认值 OUT
。这 QoS 级别定义使用的发布/订阅 QoS 级别 对于本主题,默认为 0。
本地
前缀和远程前缀
选项允许 发布到和接收时要重新映射的主题 来自远程经纪人。这允许从 要插入到主题树中的本地代理 远程代理在适当的位置。
对于传入的主题,桥将在 带有远程前缀的模式并订阅 生成的有关远程代理的主题。当匹配时 收到传入消息,远程前缀将是 从主题中删除,然后从本地前缀中删除 添加。
对于传出主题,桥将在 带有本地前缀的模式并订阅 本地经纪人的结果主题。当传出时 消息已处理,本地前缀将被删除 然后添加远程前缀。
使用主题映射时,空前缀可以是 使用位置标记 “”
定义。使用空标记 因为主题本身也是有效的。下表 定义空或值的组合是什么 有效。和显示结果 将在本地和远程端使用的主题 的桥。例如,对于表的第一行,如果 发布到本地 代理,则远程代理将收到一条消息 关于这个话题.Full Local Topic
Full Remote Topic
L/topic
R/topic
模式 | 本地前缀 | 远程前缀 | 有效性 | 完整的本地主题 | 完全远程主题 |
---|---|---|---|---|---|
模式 | L/ | R/ | 有效 | L/模式 | R/模式 |
模式 | L/ | "" | 有效 | L/模式 | 模式 |
模式 | "" | R/ | 有效 | 模式 | R/模式 |
模式 | "" | "" | 有效(无重新映射) | 模式 | 模式 |
"" | 当地 | 远程 | 有效(将单个本地主题重新映射到远程) | 当地 | 远程 |
"" | 当地 | "" | 无效 | ||
"" | "" | 远程 | 无效 | ||
"" | "" | "" | 无效 |
要重新映射整个主题树,请使用例如:
<span style="color:#4a4a4a"><span style="background-color:#ffffff"><span style="background-color:whitesmoke"><span style="color:#4a4a4a">topic # both 2 local/topic/ remote/topic/</span></span></span></span>
每个选项可以多次指定 桥。
必须注意确保循环不是 使用此选项创建。如果您正在经历高 来自代理的 CPU 负载,您可能有一个 循环,每个经纪人永远相互转发 相同的消息。
另请参阅选项,如果 您在以下情况下收到有关意外主题的消息 使用传入主题。cleansession
下面的配置将网桥连接到 代理在 。它 订阅远程主题和 将收到的消息重新发布到本地主题test.mosquitto.org
$SYS/broker/clients/total
test/mosquitto/org/clients/total
<span style="color:#4a4a4a"><span style="background-color:#ffffff"><span style="background-color:whitesmoke"><span style="color:#4a4a4a">connection test-mosquitto-org
address test.mosquitto.org
cleansession true
topic clients/total in 0 test/mosquitto/org/ $SYS/broker/
</span></span></span></span>
try_private
[ 真 | 假 ]
如果try_private设置为 true
,则网桥将 尝试向远程代理指示它是 桥不是普通的客户。如果成功,这将 意味着环路检测将更有效, 保留的消息将正确传播。 并非所有经纪商都支持此功能,因此可能是 如果您的网桥确实如此,则必须设置为 false
连接不正确。try_private
默认值为 true
。
SSL/TLS 支持
以下选项可用于所有网桥 配置 SSL/TLS 支持。
bridge_alpn
阿尔卑斯山
配置应用层协议协商 TLS 会话的选项。对支持代理有用 websockets 和 MQTT 都在同一端口上。
bridge_cafile
文件路径
其中之一或必须提供给 允许 SSL/TLS 支持。bridge_cafile
bridge_capath
bridge_cafile用于定义文件的路径 包含 PEM 编码的 CA 证书,该证书 已签署远程代理的证书。
bridge_capath
文件路径
其中之一或必须提供给 允许 SSL/TLS 支持。bridge_capath
bridge_cafile
bridge_capath用于定义 包含 PEM 编码的 CA 的目录 已签署证书的证书 远程代理。让bridge_capath工作 正确,证书文件必须具有“.crt” 作为文件结尾,您必须运行“OpenSSL rehash <通向bridge_capath>的路径” 添加/删除证书。
bridge_certfile
文件路径
PEM 编码客户端证书的路径 此网桥(如果遥控器需要) 代理。
bridge_identity
身份
预共享密钥加密提供了另一种选择 到基于证书的加密。一座桥可以是 配置为将 PSK 与 和 选项一起使用。这是 与 PSK 加密一起使用的客户端标识。只有一个 可以使用证书和基于 PSK 的加密 一次在一座桥上。bridge_identity
bridge_psk
bridge_insecure
[ 真 | 假 ]
使用基于证书的 TLS 时,网桥将 尝试验证 远程证书与主机/地址匹配 连接到。这可能会导致测试出现问题 场景,所以可能 设置为 true
到 禁用主机名验证。bridge_insecure
将此选项设置为 true
意味着 恶意第三方可能会冒充 您的服务器,因此在生产中应始终将其设置为 false
环境。
bridge_keyfile
文件路径
此密钥的 PEM 编码私钥的路径 桥接(如果远程代理需要)。
bridge_psk
键
预共享密钥加密提供了另一种选择 到基于证书的加密。一座桥可以是 配置为将 PSK 与 和 选项一起使用。这是 十六进制格式的预共享密钥,没有“0x”。 只有一种基于证书和 PSK 的加密 可以一次在一座桥上使用。bridge_identity
bridge_psk
bridge_require_ocsp
[ 真 | 假 ]
设置为 true 时,网桥需要 TLS 上的 OCSP 连接它以客户端身份打开。
bridge_tls_version
版本
将 TLS 协议的版本配置为 用于此桥。可能的值为 tlsv1.3、tlsv1.2 和 tlsv1.1
。 默认为 tlsv1.2
。遥控器 代理必须支持相同版本的 TLS 连接成功。