自1月份以来,我们开始遇到以下问题。随机我们会在网址上收到 GET 请求,这些请求只能接收 POST 表单提交。 GET 请求没有参数(即在URL中看不到表单数据)。此类请求导致Rails路由中的异常(“仅允许发布请求。”),并且用户获得错误页面500.
method="post"
属性。我检查了javascripts的页面,这可能会对form方法进行一些篡改,但我没有找到任何嫌疑人。该站点由Rails构成,使用了jQuery。
任何想法,可能是什么问题导致或如何调查?
感谢。
更新:我们运行 Nginx + Mongrel群集。 Nginx access.log
显示我们观察到的 GET 请求, Nginx error.log
中没有相关条目。< / p>
答案 0 :(得分:1)
我检测到Chrome的类似行为,执行此操作:
在这种情况下,Chrome不会返回到response2页面,而是对第2点中使用的地址进行GET。
当您更新(f5)由POST制作的网页时,以前的Chrome版本会出现类似的错误。
Chrome版本:32.0.1700.76 m
答案 1 :(得分:0)
我在服务器上看到过类似的错误。大约一年或更久以前。到目前为止,我记得这是由我们的Web服务器引起的。 Passenger的旧版本与Apache的效果不佳。乘客升级到更新版本修复了问题。现在我已切换到Nginx。
因此,无论您使用什么,请确保您已更新了网络服务器软件。并检查您的Web服务器日志是否有错误,而不是Rails production.log。