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