我正在使用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 /在我的图片资产文件夹中缺少404s的项目。
当我禁用上面的nginx位置配置时,问题消失了。如何正确配置nginx以提供子目录中的资产?
由于
答案 0 :(得分:1)
这对我有用:
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;
}