В библиотеке JS WebSocket вы можете ограничить максимально разрешенный размер входящего сообщения с помощью maxPayload
option .
Я хотел бы наложить это ограничение на мой уровень обратного прокси Nginx, прежде чем он попадет на мой сервер приложений.
Есть ли у Nginx аналогичная концепция? Имеет ли client_max_body_size
( doc )применяются к входящим сообщениям веб-сокетов?
Когда nginx видит ответ 101 Switching Protocols от бэкэнда, он начинает рассматривать соединение как непрозрачный туннель и передает трафик туда и обратно без какой-либо дополнительной проверки. Не существует директивы, которая каким-либо образом ограничивала бы какое-либо конкретное сообщение Websocket.
Согласно этой конфигурации Mattermost NGINX должно быть возможно: https://docs.mattermost.com/install/config-proxy-nginx.html
Как подключение к веб-сокету ( статья ), так и указанный вами client_max_body_size
( doc ) используются в нем,поэтому я предполагаю, что он был протестирован и работает, если они упоминают об этом в своей конфигурации.