Настройка proxy cache + gzip
SenatoR
nginx-forum at nginx.us
Wed Nov 28 09:23:12 UTC 2012
Добрые сутки!
Образил уже весь рунет, но либо такая проблема есть только у меня, либо всем
на нее пофиг. Допустим, у нас есть 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