Nginx 不提供静态 rails 资产文件



我的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配置出了什么问题?

想明白了。由于某种原因,我以前没有查看nginx错误日志。一旦我看了看,我可以看到这些资产得到了"拒绝许可"的错误。我找到了这个问题,必须确保从根目录到资产文件位置的每个目录都有:

chmod +x

最新更新