模块 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 on | off;
默认值
mqtt off;
上下文 stream, server

为指定的虚拟服务器启用 MQTT 协议。

语法 mqtt_buffers number size;
默认值
mqtt_buffers 100 1k;
上下文 stream, server

此指令出现在 1.25.1 版本中。

设置用于处理 MQTT 消息的缓冲区的 numbersize,适用于单个连接。

语法 mqtt_rewrite_buffer_size size;
默认值
mqtt_rewrite_buffer_size 4k|8k;
上下文 server

此指令自 1.25.1 版本起已废弃。应使用 mqtt_buffers 指令代替。

设置用于写入修改后消息的缓冲区 size。默认情况下,缓冲区大小等于一个内存页。这取决于平台,可能是 4K 或 8K。但是,可以将其设置得更小。

语法 mqtt_set_connect field value;
默认值
上下文 server

将 CONNECT 消息的 field 设置为指定的 value。支持以下字段:clientidusernamepasswordvalue 可以包含文本、变量及其组合。

可以在同一级别上指定多个 mqtt_set_connect 指令。

mqtt_set_connect clientid "$client";
mqtt_set_connect username "$name";