Я рыскал в Интернете в поисках информации о настройке ZXTM для правильной балансировки нагрузки на соединения с веб-сокетами. (а также общая информация для этой задачи была бы удобна)
Кажется, что, поскольку это балансировщик нагрузки уровня 7, он сбивается с толку, когда клиенты отправляют заголовок Upgrade, необходимый для установления соединения через веб-сокет. Я полагаю, что смогу исправить это с помощью правил сценария трафика, но не знаю, с чего начать.
Единственная информация, которую я могу найти, - это то, как сделать это с помощью nginx, используя специальный модуль прокси tcp, а также есть некоторая информация о том, как сделать это с помощью прокси HA. К сожалению, в настоящее время ни один из этих вариантов недоступен.
Если у кого-то есть какая-либо информация, общая или конкретная о том, как настроить балансировщик нагрузки уровня 7 для правильной обработки веб-сокетов, это было бы здорово.
После долгих поисков я добился прогресса в этом вопросе. (к сожалению, русло поддержки не очень помогло, хотя они действительно старались быть полезными).
Проблема в том, что когда ZXTM настроен на режим «HTTP» для виртуального сервера, он вообще не отвечает на заголовок обновления.
Чтобы веб-сокеты работали, вы должны изменить режим виртуального сервера на «Generic Streaming».
Тогда балансировщик нагрузки будет рассматривать его как обычное TCP-соединение, и все будет работать нормально.
Есть одно большое ограничение: если вы используете правила сценария трафика, вы больше не сможете использовать правила, начинающиеся с http. Так, например, http.setHeader или что-либо подобное больше не будет работать, так как балансировщик нагрузки больше не обрабатывает базовые соединения как обычный http.
Надеюсь, это кому-то поможет! Ура