模块 ngx_stream_mqtt_filter_module
| 配置示例 指令 mqtt mqtt_buffers mqtt_rewrite_buffer_size mqtt_set_connect |
ngx_stream_mqtt_filter_module 模块 (1.23.4) 提供对 Message Queuing Telemetry Transport 协议 (MQTT) 3.1.1 版本和 5.0 版本的支持。
该模块作为我们的 商业订阅 的一部分提供。
配置示例
listen 127.0.0.1:18883; proxy_pass backend; proxy_buffer_size 16k; mqtt on; mqtt_set_connect clientid "$client"; mqtt_set_connect username "$name";
指令
| 语法 |
mqtt |
|---|---|
| 默认值 |
mqtt off; |
| 上下文 |
stream, server |
为指定的虚拟服务器启用 MQTT 协议。
| 语法 |
mqtt_buffers |
|---|---|
| 默认值 |
mqtt_buffers 100 1k; |
| 上下文 |
stream, server |
此指令出现在 1.25.1 版本中。
设置用于处理 MQTT 消息的缓冲区的 number 和 size,适用于单个连接。
| 语法 |
mqtt_rewrite_buffer_size |
|---|---|
| 默认值 |
mqtt_rewrite_buffer_size 4k|8k; |
| 上下文 |
server |
此指令自 1.25.1 版本起已废弃。应使用 mqtt_buffers 指令代替。
设置用于写入修改后消息的缓冲区 size。默认情况下,缓冲区大小等于一个内存页。这取决于平台,可能是 4K 或 8K。但是,可以将其设置得更小。
| 语法 |
mqtt_set_connect |
|---|---|
| 默认值 | — |
| 上下文 |
server |
将 CONNECT 消息的 field 设置为指定的 value。支持以下字段:clientid、username 和 password。value 可以包含文本、变量及其组合。
可以在同一级别上指定多个 mqtt_set_connect 指令。
mqtt_set_connect clientid "$client"; mqtt_set_connect username "$name";