Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Настройка proxy cache + gzip
- To: nginx-ru@xxxxxxxxx
- Subject: Настройка proxy cache + gzip
- From: "SenatoR" <nginx-forum@xxxxxxxx>
- Date: Wed, 28 Nov 2012 04:23:12 -0500
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=I7xf99WEcOEsBXjfOQ3f1NBk3j72CTGGhgGUbpFQAes=; b=Dm5CDo+U0CIISwjPr8q5b4atJ4ZGx4ruGDqT2Pkew9deBztiMumJYktgCXTfrTxouDi2mQqwgwv9U8ps+17z5m8umgM55XtGA5GU5pj6yJRvlZs7XuIHrLhYMMJfI3Lx;
Добрые сутки!
Образил уже весь рунет, но либо такая проблема есть только у меня, либо всем
на нее пофиг. Допустим, у нас есть proxy_cache или fastcgi_cache. Заставим
его закешировать тестовую страницу, для чего зайдем на нее из браузера,
поддерживающего сжатие gzip. В кеше на диске видно, что страница сжата и
присутствуют соответствующие этому заголовки.
А теперь зайдем на ту же страницу браузером без поддержки gzip (хоть тот же
wget). Страница отдается из кеша, кодированной (!!!), вместо текста -
кракозябры.
Временно я решил эту проблему вот так:
if ($http_user_agent ~ "MSIE [4-6]\.|Safari|Konqueror") {
# В этих браузерах имеются баги при обработке gzip-сжатых файлов с
длинными URL-ами.
set $no_gzip 1;
}
if ($http_accept_encoding !~ "gzip") {
set $no_gzip 1;
}
proxy_cache my_cache;
proxy_cache_key
"$no_gzip|$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
Но сами понимаете, обидно кешировать 2 одинаковые страницы. Что делать и как
быть? gzip_disable не помогает.
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,233316,233316#msg-233316
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|