nginx返回404而不是将请求转发给Rails

时间:2015-04-10 17:36:06

标签: ruby-on-rails nginx passenger

我正在使用nginx和Pushion乘客。如果我请求此资源https://www.chinadialogue.net/article/show/single/ch/3982-Moving-past-Mexico,我从nginx获取404而不是命中Rails。我检查了日志。 Rails正在使用SLUG,因此3982之后的任何内容(文章ID)仍然返回3982,请尝试:

https://www.chinadialogue.net/article/show/single/ch/3982- https://www.chinadialogue.net/article/show/single/ch/3982-Moving-past-Mexico1

他们的作品。我没有任何重写'我重新启动了nginx,但没有。我不知道下一步该做什么。

1 个答案:

答案 0 :(得分:0)

首先,我们必须确定请求是否确实没有到达Rails,或者你的slug实现是否出现问题。

查看rails log(log / production.log)并点击返回404的URL。

你看到请求进来了吗?或者什么也没有显示出来。

如果没有显示任何内容,您将知道您必须进一步调查您的nginx配置。

如果某些内容出现,并且看起来它是正确的控制器和正确的操作,那么您将在rails应用程序中找到进一步调查的地方的线索。

也可能是你的rails应用中的路由有一定的约束(也许以整数结束?)

如果没有关于您的设置的更多信息,则无法获得明确的答案。