Как заставить использование gzip за обратным прокси? - PullRequest
0 голосов
/ 29 мая 2018

Я хочу использовать nginx в качестве обратного прокси-сервера и очень хочу оптимизировать связь между nginx и нашим бэкэндом.Полезные данные, которые мы передаем, составляют около 1 МБ текста, когда они не сжаты, а обратный прокси-сервер и сервер находятся в разных центрах обработки данных.

Мое понимание и проведенные мною тесты показывают, что сжатие между обратным прокси-сервером иБэкэндс зависит от запроса клиента.

Но это не оптимально, потому что, если клиент не настроен на использование gzip при чтении ответа обратного прокси-сервера, нет причин не использовать gzip между nginx и внутренним сервером.

Iхотел бы заставить связь между обратным прокси-сервером и внутренним сервером использовать gzip, даже если клиент не запрашивал его.

Мне удалось заставить его работать, но я не уверен, что он хорошо настроен, особенно потому, чтоМне нужно форсировать заголовок Accept.

Моя идея состояла в том, чтобы форсировать Accept-Encoding: gzip при передаче запроса и использовать gunzip, если клиент не запрашивал gzip.

upstream backend {
    server fqdn:443;
    keepalive 32;
}

server {
  listen   8080;

  gzip on;
  gunzip on;
  gzip_proxied any;
  gzip_vary on;
  gzip_types 
        text/css
        text/javascript
        text/xml
        text/plain
        application/javascript
        application/x-javascript
        application/json;

  proxy_buffering "off";
  proxy_http_version 1.1;

  location / {
    proxy_set_header "Accept-Encoding" "gzip";
    proxy_pass   https://backend;
  }
}

Это нормально, что я должен форсировать этот заголовок?

Почему gzip_proxied any недостаточно?

Заранее спасибо

...