Enrutamiento de requestes no GET al pasajero en Nginx

Tengo una aplicación de Rails que está almacenando en caching las páginas en varios directorys personalizados. Todo funciona bien aparte de las requestes no GET, que están entregando 405 errores en Nginx porque mi configuration no los está enrutando a pasajeros. Mi pregunta es cuál es la manera más eficiente de enviar la request no GET directamente al pasajero?

Mi nginx.conf se ve actualmente así:

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; } } 

  • Configuración de PassengerDefaultRuby en Apache2
  • Instalación de Phusion Passenger con Ruby 2.1.0
  • Cambiando las versiones de ruby ​​con Passenger, obteniendo un error
  • No se puede cerrar la session porque se ha producido un error de desove
  • Cómo configurar caching de proxy con Nginx y pasajeros
  • uso de memory de pasajeros y apaches
  • Apache2: mod_wsgi y el pasajero no se llevan bien
  • Problemas de installation con Passenger con Apache en OS X 10.8
  • 2 Solutions collect form web for “Enrutamiento de requestes no GET al pasajero en Nginx”

     if ($request_method != 'GET') { passenger_enabled on; } 

    Así que no pude encontrar un modo eficiente y libre de errores de lograr esto. El problema era que si se creaba una carpeta en el caching de Rails, una ruta que coincidiera con este nombre de carpeta se resolvería de forma estática antes de verificar la ruta de Rails (romper actualizaciones de crear y destruir acciones). Resolví esto creando nombres de ruta personalizados para las routes que estaban en conflicto con las carpetas almacenadas en caching. Ahora todo funciona bien.

    El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.