nginx + Rails 3.1 + подкаталоги Cloudfront 404 отсутствуют - PullRequest
2 голосов
/ 04 января 2012

Я использую конвейер ресурсов Rails 3.1, который обслуживается с помощью пользовательского источника Cloudfront CDN.

Вот что я написал в моем nginx.conf для обслуживания ресурсов в gzip и для кэширования:

                location ^~ /assets/ {
                    allow all;
                    gzip_http_version 1.0;
                    gzip_static on;
                    expires 365d;
                    add_header Last-Modified "";
                    add_header ETAg "";
                    add_header Cache-Control public;
            }

Проблема в том, что подкаталоги, например, / background / в моей папке с изображениями отсутствуют их элементы с 404.

Когда я отключаю конфигурацию местоположения nginx выше, проблема исчезает. Как правильно настроить nginx для обслуживания ресурсов в подкаталогах?

Спасибо

1 Ответ

1 голос
/ 19 апреля 2012

Это сработало для меня:

location ~ ^/(assets)/  {
    root /opt/appname/public; # or whatever the path is to your app's public folder
    gzip_http_version 1.0;
    gzip_static on;
    access_log off;
    expires 1y;
    add_header Cache-Control public;
    add_header Last-Modified "";
    add_header ETag "";
    break;
}
...