Модуль 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-сообщений,
для одного соединения.
Синтаксис: |
mqtt_rewrite_buffer_size |
---|---|
Умолчание: |
mqtt_rewrite_buffer_size 4k|8k; |
Контекст: |
server |
Эта директива устарела начиная с версии 1.25.1. Вместо неё следует использовать директиву mqtt_buffers.
Задаёт размер
буфера,
в который будет записываться модифицированное сообщение.
По умолчанию размер одного буфера равен размеру страницы памяти.
В зависимости от платформы это или 4K, или 8K,
однако его можно сделать меньше.
Синтаксис: |
mqtt_set_connect |
---|---|
Умолчание: | — |
Контекст: |
server |
Устанавливает поле
в заданное значение
для сообщения CONNECT.
Поддерживаются следующие поля:
clientid
,
username
и
password
.
В качестве значения можно использовать текст, переменные и их комбинации.
На одном уровне может быть указано
несколько директив mqtt_set_connect
:
mqtt_set_connect clientid "$client"; mqtt_set_connect username "$name";