在Nginx中将非GET请求路由到乘客

我有一个Rails应用程序caching多个自定义目录中的页面。 一切工作正常,而不是非GET请求,这是在Nginx发送405错误,因为我的configuration不是路由到乘客。 我的问题是什么是直接向乘客转发非GET请求的最有效方式?

我的nginx.conf目前看起来像这样:

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

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

所以我找不到一个高效的无错方式来实现这一点。 问题是,如果在Railscaching中创build了一个文件夹,那么匹配这个文件夹名称的path会在检查Rails路由(打破更新创build和销毁操作)之前静态地parsing到该文件夹​​。 我通过为与caching文件夹冲突的path创build自定义路由名称来解决此问题。 现在一切正常。