push_stream_max_channel_id_length
Устанавливает максимальную длину идентификаторов каналов Push Stream в NGINX.
Описание
Директива push_stream_max_channel_id_length используется для задания максимально допустимой длины идентификаторов каналов в модуле NGINX Push Stream. Этот параметр важен для контроля размера входных данных идентификаторов каналов, что может влиять на использование памяти и длину URL во время запросов. Если длина идентификатора канала превышает заданный максимум, модуль отклонит запрос, предотвращая возможные проблемы с производительностью или безопасностью из-за чрезмерно длинных идентификаторов.
При настройке этой директивы администраторам следует учитывать типичные варианты использования идентификаторов каналов в их приложениях. Например, если идентификаторы каналов формируются на основе ввода пользователя или других динамических источников, важно установить ограничение, позволяющее иметь описательные идентификаторы, но не создающее рисков злоупотреблений. Директива принимает только числовой аргумент, который задаёт максимальное количество символов для идентификаторов каналов. Модуль применяет это ограничение при обработке запроса и уведомляет клиента, если идентификатор слишком длинный.
Из-за влияния на управление каналами эту директиву следует задавать на уровне http, чтобы она была доступна всем контекстам server, определённым в нём. Это облегчает централизованный контроль управления идентификаторами каналов для различных виртуальных хостов или locations, обрабатываемых одним экземпляром NGINX.
Пример конфига
http {
push_stream_max_channel_id_length 64;
server {
location /pub {
push_stream_publisher admin;
push_stream_channels_path $arg_id;
}
}
}Если установить это значение слишком низким, сервер может не принять законные channel IDs.
Неправильная настройка этой директивы может привести к неожиданным ошибкам у клиентов, пытающихся получить доступ к каналам с допустимыми, но более длинными идентификаторами.