Модуль stream_mqtt_preread#

Позволяет извлекать идентификатор клиента и имя пользователя из пакетов CONNECT протокола Message Queuing Telemetry Transport (MQTT) версий 3.1.1 и 5.0.

По умолчанию этот модуль не собирается; его необходимо включить с помощью параметра конфигурации сборки ‑‑with‑stream_mqtt_preread_module. В пакетах из наших репозиториев модуль включен в сборку.

Пример конфигурации#

Выбор сервера в группе по идентификатору клиента:#

stream {

    mqtt_preread on;

    upstream mqtt {
        hash $mqtt_preread_clientid;
        # ...
    }
}

Директивы#

mqtt_preread#

Синтаксис:

mqtt_preread on | off;

Умолчание:

mqtt_preread off;

Контекст:

stream, server

Управляет извлечением информации из пакета CONNECT на этапе предварительного чтения. Если параметр включен (on), то в контексте, где он задан, заполняются перечисленные ниже переменные.

Встроенные переменные#

Подробное описание семантики значений см. в спецификации протокола MQTT версий 3.1.1 и 5.0.

$mqtt_preread_clientid#

Уникальный идентификатор клиента.

$mqtt_preread_username#

Необязательное имя пользователя.