Google Recaptcha v2 不适用于生产中的 rails 应用程序

Google Recaptcha v2 is not working with rails application in production

我正在使用 https://github.com/ambethia/recaptcha/ gem 在我的 rails 应用程序中添加 Recaptcha v2。这在本地主机环境中工作正常,无论是在开发还是生产中,但是当我在 VM(Azure VM)上使用它时,它会出现错误:Stoken Expired 问题。

问题截图http://imgur.com/pFfJXRn

更多详情: Rails 版本 4.2.1
Passenger Phusion 服务器(5.0)
在 VM(Ubuntu 14.10)上,rails 应用程序在本地主机(端口:3000)上运行,服务器上的所有外部请求都重定向到本地主机。
我试图 Google 这个问题,但我找不到任何有效的解决方案。 我试过的解决方案:

设置 config.serve_static_files = true
重新生成密钥(Public 并再次为 Recaptcha 私有)

我们也遇到了这个 "ERROR: Stoken expired in google Recaptcha v2" 错误。

经过几天的摸索,结果证明是我们 Windows 服务器之一的系统时钟。它在大约 12 秒(进入未来)时结束了。当我们更正机器时间时,"ERROR: Stoken expired" 停止发生并且一切正常。

希望这能帮助其他遇到同样问题的人。

检查日期时间可能会也可能不会解决您的问题。

这与gem版本有关。 请在 GitHub 上查看此问题以获得完整的答案和解释。

https://github.com/ambethia/recaptcha/issues/137