带缓存的Nginx直通网址

时间:2015-06-05 10:45:14

标签: ruby-on-rails nginx unicorn

我的Rails应用程序的路由与首次访问时生成的静态文件匹配。

如果我在site.conf中注释掉了这个块,那么一切正常:

 location ^~ /uploads/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
  }

有没有办法让两个世界都做得最好,并且location阻止仅在实际文件存在时被激活,如果不存在则被激活?也许在里面添加try

1 个答案:

答案 0 :(得分:0)

基于逻辑"本地磁盘静态文件与后端动态响应服务响应的最佳实践之一"是try_files:

location ^~ /uploads/ {
  gzip_static on;
  expires max;
  add_header Cache-Control public;
  try_files $uri @backend;
}

location @backend {
  proxy_pass ...
}

请参阅官方文档here