Hello! On Mon, Aug 17, 2015 at 08:11:11PM +0300, Eugene Toropov wrote:
> Добрый вечер, > > У меня странная (на мой взгляд) ситуация - есть proxy_cache_path, через > который ходят POST запросы с заголовком “Accept-Encoding: gzip”. В коде > клиента в ответе от nginx-а я вижу gzip-нутый body и “Content-Encoding: > gzip”, но tcpflow показывает, что между nginx-ом и апстримом никакого > gzip-а нет. Более того, я нашел закэшированный в папке proxy_cache_path-а > файл и убедился, что контент там не gzip-нутый (хотя ключ кэша - > "$host$request_uri $http_accept_encoding” - и в моем примере я точно вижу > “gzip” на месте $http_accept_encoding). Подскажите, пожалуйста, как > заставить nginx работать с апстримом по gzip-у? Вопрос "отдавать gzip или нет" решает тот, кто отдаёт. Соответственно вам надо смотреть настройки бекенда, а не nginx'а. В частности, если в роли бекенда опять же nginx - то он по умолчанию не жмёт ответы по HTTP/1.0, см. тут: http://nginx.org/r/gzip_http_version/ru Отдельно отмечу, что $http_accept_encoding в ключе - чревато большим количеством дублей одних и тех же ответов. Если хочется хранить в кеше сжатое, то эффективнее будет сделать proxy_set_header Accept-Encoding gzip; и включить gunzip, см. http://nginx.org/r/gunzip/ru. -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
