Nginx不提供静态rails资产文件

时间:2013-08-05 20:18:18

标签: ruby-on-rails nginx capistrano

我的nginx.conf文件正在使用rails指南中推荐的配置:

  server {
    listen       80;
    server_name  mysite.org;
    root /home/ec2-user/sites/mysite/production/current/public;

    location ~ ^/assets/ {
      expires 1y;
      add_header Cache-Control public;

      add_header ETag "";
      break;
    }

    location / {
      proxy_pass http://backend-mysite;
    }
  }

问题是对css和js编译文件的请求如下:

http://mysite.org/assets/application-0230217054b1f5b5f386a270a526ceca.css

正在返回403状态。

我看过了,我可以在public / assets /

中看到资产文件

我的nginx配置有什么问题?

1 个答案:

答案 0 :(得分:1)

想出来。出于某种原因,我之前没有查看nginx错误日志。一旦我看到那里,我可以看到这些资产正在为他们获得“许可被拒绝”错误。我找出了这个问题,并且必须确保从根目录到资产文件位置的每个目录都有:

chmod +x

就可以了。