Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: $http Accept-Encoding превращаетс я в $http Accept
- To: nginx-ru@xxxxxxxxx
- Subject: Re: $http Accept-Encoding превращаетс я в $http Accept
- From: Denis F. Latypoff <latypoff@xxxxxxxxx>
- Date: Tue, 06 Dec 2011 20:44:54 +0700
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1323179096; bh=6yg6eSS85cDlZNs5dwxkOebTSMx1bCvpGb1hRF8sP/w=; h=From:To:In-Reply-To:References:Subject:MIME-Version:Message-Id: Date:Content-Transfer-Encoding:Content-Type; b=Cj+ns+aSrj9SgMMWyXtIWr9kXOKVt19Rd8LvYQ2B5op6W5hXKg31M1vcD4dXnYpIE CaV1udRPbb/YIFDqjPVDjRlJQNbKQ/MxnlCO7PPD3k1h6COOIV9b1BGS4fEEm2LdQH jXS9Zh1kwFJnlrYxQMkaFZUKLOSeZ7rcGQDleUr4=
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1323179095; bh=6yg6eSS85cDlZNs5dwxkOebTSMx1bCvpGb1hRF8sP/w=; h=From:To:In-Reply-To:References:Subject:MIME-Version:Message-Id: Date:Content-Transfer-Encoding:Content-Type; b=tuJ2fqJM/kKOd3BffqH0BpaluW4JoCyIEgpvzj6OLduB1b9bH1xcFaT87As7o3+jt GqN/KedNKkB9+iL18bjhCmJLbBBo8y0VLH9WOUCRjlNTvGtoDepxLcmOm3qks1qnIR Xjsi54o7WqMNtV126cg8iP2B4Bb990nduDNQl3kw=
- In-reply-to: <97fd1c9e0a860e45080736c9067cc5b8.NginxMailingListRussian@xxxxxxxxxxxxxxx>
- References: <97fd1c9e0a860e45080736c9067cc5b8.NginxMailingListRussian@xxxxxxxxxxxxxxx>
06.12.2011, 20:11, "nikolayb" <nginx-forum@xxxxxxxx>:
> Здравствуйте, господа!
>
> Я изучаю nginx и пробую настроить
> кэширование бэкенда на Amiro.CMS. Среди
> прочих проблем столкнулся с
> кэшированием gzip-контента и отдачей его
> клиенту не поддерживающему сжатие.
>
> В топике
> http://forum.nginx.org/read.php?21,158471,158471#msg-158471 было
> предложено (1) добавить в ключ кэша
> $http_Accept-Encoding, Сысоев предложил
> отключить вовсе gzip на бэкенде и
> оставить на совесть nginx (2).
>
> 1. При попытке добавить переменную в
> ключ, nginx решил что $http_Accept-Encoding есть
> $http_Accept плюс строка "-Encoding".
> Я попробовал создать дополнительную
> переменную, но nginx показал стойкость и
> также представил $http_Accept-Encoding как
> $http_Accept.
>
> кусок конфига:
> set $ae "$http_Accept-Encoding";
а зачем set?
> proxy_cache_key "BASE
-
$request_method|$http_if_modified_since|$http_if_none_match|$ae|$host|$uri$is_args$args";
+
$request_method|$http_if_modified_since|$http_if_none_match|$http_accept_encoding|$host|$uri$is_args$args";
>
> кусок кэша для Firefox (с gzip):
> KEY: BASE
> GET|||text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8-Encoding|www.site.ru|/katalog/products/aksessuary
>
> кусок кэша для curl (без gzip)
> KEY: BASE GET|||*/*-Encoding|www.site.ru|/katalog/products/aksessuary
>
> Т.е. ключ разделил на два случая
> Accept-Encoding за счет разного заголовка.
> Плохо то, что может придти клиент с
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> и отключенным gzip, а nginx по ключу отдаст
> gzip-содержимое кэша.
>
> 2. Если отключить gzip на бэкенде удалив
> заголовок с помощью proxy_set_header Accept-Encoding
> "", то в кэш будут падать страницы
> полновесные, и это существенно
> увеличит размер кэша, плюс nginx будет
> постоянно занят gzipованием попавших в
> кэш страниц для отдачи клиентам с
> поддержкой кэширования.
>
то что выше - не читал, лениво.
--
br, Denis F. Latypoff.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|