gzip proxy

Maxim Dounin mdounin на mdounin.ru
Чт Ноя 17 15:47:31 UTC 2022


Hello!

On Thu, Nov 17, 2022 at 10:48:52AM +0300, MihaKot wrote:

> Столкнулся с проблемой, и не могу понять где косяк.
> 
> есть сервер proxy (gate)
> есть сервер приложения (client)
> 
> почему то не срабатывает  сжатие. т.е. пользаку отдается не сжатый контент.
> 
> конфиг на клиенте
> 
> gzip on;     # Enable Gzip compressed.
> 
> gzip_http_version  1.1;

[...]

> конфиг на gate
> 
> server {
>     listen *:443 ssl http2;
>     index index.html;
>     server_name *****.ru;
>     client_max_body_size 0;
> 
>     ssl_certificate /etc/nginx/ssl/***.ru/cert.pem;
>     ssl_certificate_key /etc/nginx/ssl/****.ru/key.pem;
> 
>     include conf.d/ssl.conf;
>     include conf.d/headers.conf;
>     #include conf.d/_gzip.conf;
> 
>     location / {
>         proxy_pass http://cluster_host;
>         proxy_set_header Host $host;
>         proxy_set_header X-Real-IP $remote_addr;
>         proxy_set_header X-Forwarded-For $remote_addr;
>         port_in_redirect off;
>         proxy_connect_timeout 120;
>     }

По умолчанию при проксировании используется HTTP/1.0 
(http://nginx.org/r/proxy_http_version), при этом сжатие ответов у 
вас включено только для HTTP/1.1.  Соответственно в вашей 
конфигурации бэкенд будет всегда отдавать несжатые ответы.

Нужно либо на бэкенде включить сжатие для HTTP/1.0 (что может быть 
не очень хорошей идеей), либо переключить проксирование на 
HTTP/1.1, либо сжимать ответы на фронтенде.

-- 
Maxim Dounin
http://mdounin.ru/



Подробная информация о списке рассылки nginx-ru