#nginx #websocket #proxy #compression #gzip
#nginx #websocket #прокси #сжатие #gzip
Вопрос:
У меня nginx действует как обратный прокси для ASP.net Внутренний сервер Kestrel.
Я бы хотел, чтобы nginx выполнял сжатие gzip (т. Е. permessage-deflate / rfc7692) для моих подключений к Websocket, но я не могу найти для этого никаких параметров конфигурации.
Может ли nginx это сделать? Существуют ли какие-либо плагины, чтобы заставить это работать? Если нет, могу ли я использовать что-нибудь еще?
Ответ №1:
К сожалению, ответ «нет».
В основных модулях nginx нет ничего, что поддерживало бы websocket и сжатие в частности. Конфигурация, предоставленная в ответе @m00ny, предназначена для прокси-http-запросов, это не окажет никакого влияния на websockets.
Ответ №2:
просто отредактируйте конфигурацию nginx. Это то же самое для статических сайтов, прокси или websockets
gunzip on; // be sure to include this. This enables runtime decompression for clients that do not accept gzip
gzip on; //enables gzip for request
gzip_proxied any; //enables compression on proxies
gzip_types *; //compress everything there is
если это не сработает, попробуйте сжать сообщения перед отправкой их через сокет.
Подробнее об этом можно прочитать здесь: https://docs.nginx.com/nginx/admin-guide/web-server/compression /