Я хочу использовать 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
недостаточно?
Заранее спасибо