nginx: gizip_static: кажется, не работает - PullRequest
0 голосов
/ 07 января 2012

Хорошо, мой стек Ubuntu, Nginx 1 и Unicorn. Я хочу, чтобы Nginx обслуживал скомпилированные gzips статического контента.

соответствующая конфигурация nginx:

location ~ ^/assets/ {
  gzip_static on;
  gzip_http_version   1.1;
  gzip_proxied        expired no-cache no-store private auth;
  gzip_disable        "MSIE [1-6]\.";
  gzip_vary           on;
  expires 24h;
  add_header Cache-Control public;
}

затем из другого sf-вопроса я запустил strace, чтобы узнать, запрашивались ли они, результаты:

open("/media/sf_ape/public/assets/application-ae30e133eabbb10d9464189d3fb71e25.js.gz", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 9

Я подтвердил, что этот файл существует. Однако, когда я смотрю журнал доступа, он доставляет обычный файл .js, а не .gz. Я проверил, что в запрошенном заголовке указан gzip и что в заголовке ответа теперь отображается gzip. Я немного погуглил, но пока не нашел ответа на свою проблему. Я мог бы пропустить это где-нибудь, но любая помощь будет признательна.

1 Ответ

0 голосов
/ 11 января 2012

Я понял это в конце концов. Когда вы запускаете rake assets: прекомпилируйте все статические ресурсы, которые компилируются и перемещаются в / public. Хитрость в том, например, что .js и .js.gz имеют одинаковую метку времени. Как только я коснулся * .gz, все работало правильно. Надеюсь, это сэкономит кому-то время.

...