Encaminhando solicitações não GET para passageiro no Nginx

2

Eu tenho um aplicativo Rails que armazena páginas em cache em vários diretórios personalizados. Tudo funciona bem diferente de solicitações não GET, que estão entregando 405 erros no Nginx porque minha configuração não está roteando-os para o passageiro. Minha pergunta é qual é a maneira mais eficiente de encaminhar a solicitação não GET diretamente ao passageiro?

Meu nginx.conf atualmente está assim:

server {
       server_name railsapp.local;
       root /Users/i0n/Sites/railsapp/public;
       location / {
               try_files $uri /$host/$uri/index.html /$host/$uri.html /$host/$uri @passenger;
       }
       location @passenger {
               passenger_enabled on;
       }
}
    
por i0n 09.02.2012 / 05:05

2 respostas

0

Por isso, não consegui encontrar uma maneira eficiente e sem erros de conseguir isso. O problema era que, se uma pasta fosse criada no cache Rails, uma rota correspondente a esse nome de pasta seria resolvida para a pasta estaticamente antes de verificar a rota Rails (interromper as ações de atualização criar e destruir). Eu resolvi isso criando nomes de rota personalizados para os caminhos que conflitavam com as pastas armazenadas em cache. Agora tudo funciona bem.

    
por 18.02.2012 / 18:42
0
if ($request_method != 'GET') {
    passenger_enabled on;    
}
    
por 16.02.2012 / 17:34