gzip не работает для некоторых файлов, использующих nginx
Некоторые файлы не распаковываются по пути к пользовательскому браузеру в нашей настройке.
например
http://myhostname.com/css/build/20120904-1.css
http://myhostname.com/js/dojo/dn/main.js?20120904-1
http://myhostname.com/js/jquery-min/compiled.js?20120725-4
не может быть застегнут на молнию.
моя текущая конфигурация:
location ~* \.(js|css|png|jpg|jpeg|gif|ico)\.*+$ {
if ($args ~ [0-9]\.*+) {
expires max;
break;
}
expires max;
log_not_found off;
gzip on;
}
Что нужно отрегулировать, чтобы заставить gzip летать? Я уже попробовал несколько других вариантов, но не хочу продолжать с try & error.
Большое спасибо.
Еще немного информации: возможно, есть другая проблема. Инструменты Firebug и pingdom показывают мне сжатый размер, тогда как Chrome Developer Bar и Google PageSpeed Insights говорят, что "сжатие не активно"
Чтобы упростить задачу, ссылка на сайт http://diginights.com/
3 ответа
Вам нужно установить gzip_types application / x-javascript text / css; По умолчанию nginx будет только gzip text/html.
location ~* \.(js|css|png|jpg|jpeg|gif|ico)\.*+$ {
Это регулярное выражение не совпадает с вашими примерами запросов.
Правый:
location ~* \.(?:js|css|png|jpe?g|gif|ico)$ {
Это потому, что ваша конфигурация, кажется, говорит, что это не нужно делать для любого файла с цифрой 0-9 в имени.
Удалить весь этот раздел; в любом случае это в основном избыточно и почти наверняка не делает ничего, что вы могли бы хотеть.
if ($args ~ [0-9]\.*+) {
expires max;
break;
}