Por que preciso especificar passenger_enabled duas vezes?

1

Estou tentando configurar meu nginx.conf para usar o pipeline de ativos no Rails 3.1. Estou usando o nginx 1.0.10 e o Passenger 3.0.11. Meu nginx.conf é assim:

server {
  listen 80;
  server_name .example.com

  root /srv/project/public;
  passenger_enabled on;
  passenger_use_global_queue on;

  # Assets shouldn't expire
  location ~ ^/assets/ {
    gzip_static  on;
    expires      10y;
    add_header   Cache-Control public;
    add_header   Last-Modified "";
    add_header   ETag "";
  }
}

No entanto, quando tento acessar um ativo, recebo um erro 404 (a menos que esteja acessando o cache, é claro). Descobri que adicionar passenger_enabled on; no bloco location ~ ^/assets/ corrigirá esse problema, mas não entendo por que isso é necessário quando já foi especificado anteriormente no bloco server ?

    
por Daniel Vandersluis 08.12.2011 / 18:33

1 resposta

1

De acordo com os devs de passageiros, é um problema do nginx e passenger_enabled on precisa ser especificado em cada bloco location .

    
por 12.12.2011 / 14:35