MQTT 和 MQTTS 应用
创建 MQTT 或 MQTTS 应用,并配置监听端口、上游、客户端标识规则和 TLS。
MQTT 和 MQTTS 应用用于在 OpenResty Edge 上代理 MQTT 客户端与 Broker 之间的 长连接。MQTT 使用明文连接;MQTTS 使用 TLS 保护客户端到网关的连接。
此功能在 OpenResty Edge 26.12.1-1 中首次引入。
准备网关分区
先打开 网关集群 > 网关分区,为目标分区添加 MQTT 或 MQTTS 监听端口。 应用只能选择已经在其分区中配置的对应协议端口。
创建应用
- 打开 应用,点击 新建应用。
- 选择 MQTT 或 MQTTS,填写应用名称和分区。
- 选择监听端口并保存。
- 添加 TCP 上游,填写 Broker 地址和端口。
- 为 MQTTS 应用在 SSL 页面配置证书和 TLS 选项。
- 在 发布 页面检查变更并发布应用。

MQTT 应用没有 SSL 配置页。MQTTS 应用除了常规流式应用页面外,还提供 SSL 配置;客户端必须使用 TLS 连接 MQTTS 监听端口。
按 MQTT Client ID 匹配规则
在应用的页面规则中,可以使用 MQTT Client ID 条件匹配客户端在 MQTT
CONNECT 报文中提交的 Client ID。可用该条件为不同设备或租户设置限流、
访问控制和日志动作。MQTTS 应用还可以使用 SNI Server Name 条件。
保存规则后必须发布应用才会生效。Client ID 由客户端提供,不能单独作为可信的 身份凭据;需要认证时,应同时使用 Broker 认证、TLS 客户端证书或其他访问控制。
运维注意事项
- MQTT 会话通常持续较长时间。需要定期观察长连接状态时,可以启用 分段访问日志。
- MQTT 协议没有 HTTP 响应体,因此 MQTT/MQTTS 页面规则不提供输出响应体动作。
- 创建用户组时,MQTT 和 MQTTS 使用独立的权限模块;应只授予用户需要管理的 应用类型和操作权限。