让nginx提供某个目录中的所有文件

时间:2015-07-10 09:25:09

标签: ruby-on-rails nginx

我想让nginx在我的Rails应用程序中提供/ public / system / articles / images中的所有图像。我试过了     位置/系统{       允许全部;     }

当我输入my_site.com/public/system/picture.png时,返回Rails 404页面(而不是nginx 404页面,或者我真正追求的图像)。

这是我目前的conf文件:

upstream varnish {
    server localhost:6081;
}

server {
    listen 80;
    server_name my_site.com;

    location ~* \.(ico|css|js|gif|jpe?g|png)\?[0-9]+?$ {
      expires max;
      break;
    }

  root /home/my_site/my_site/current/public;

  location /system {
    allow all;
  }

  location @app {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_set_header X-AI-App "my_site";
    proxy_pass http://varnish;
  }

  #root /home/my_site/my_site/current/public;

  location / {
    # all IP addresses are listed here:
      allow all;

    try_files $uri @app;
  }

}

1 个答案:

答案 0 :(得分:0)

似乎我不需要对nginx conf文件做任何事情。

尝试访问/public目录下的内容时,您未将/public放入您正在呼叫的网址中。

所以我应该放入my_site.com/public/system/picture.png

而不是my_site.com/system/picture.png