Я пытаюсь активировать сжатие gzip и включил параметр gzip_vary; чтобы включить заголовок Vary: Accept-Encoding.
Проблема в том, что мое приложение уже устанавливает заголовок Vary :. Итак, ответ теперь имеет два Vary: заголовок, один из моего приложения и один из nginx.
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 17 Dec 2016 13:28:38 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Last-Modified: Sat, 17 Dec 2016 13:28:38 GMT
Cache-Control: no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Vary: User-Agent
Content-Encoding: gzip
Но я думаю, что это должно быть примерно так:
Vary: Accept-Encoding, User Agent
Как я могу этого добиться?
RFC2616 утверждает, что повторяющиеся заголовки приемлемы и должны рассматриваться так же, как один заголовок со списком значений, разделенных запятыми:
Несколько полей заголовка сообщения с одинаковым именем поля МОГУТ присутствовать в сообщении тогда и только тогда, когда все значение поля для этого поля заголовка определено как список, разделенный запятыми [то есть # (значения)]. ДОЛЖНА быть возможна объединение нескольких полей заголовка в одну пару «имя-поля: значение поля» без изменения семантики сообщения путем добавления каждого последующего значения поля к первому, каждое из которых разделено запятой. Порядок, в котором принимаются поля заголовка с одинаковым именем поля, поэтому важен для интерпретации значения комбинированного поля, и, таким образом, прокси-сервер НЕ ДОЛЖЕН изменять порядок значений этих полей при пересылке сообщения.
Итак, вам не нужно ничего делать, чтобы добиться правильного поведения.
Таким образом можно использовать gzip.
gzip on;
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js image/gif image/jpeg application/atom+xml application/rss+xml text/x-component image/png image/tiff image/vnd.wap.wbmp image/x-icon image/x-jng image/x-ms-bmp image/svg+xml image/webp application/font-woff application/msword application/pdf;
gzip_buffers 16 8k;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
Проверьте эту ссылку, чтобы узнать больше Сжать трафик между uwsgi-nginx и балансировщиком нагрузки nginx