刚开始新的部署后,所有 POST 请求开始抛出错误 422 和"无法验证 CSRF 令牌的真实性"。
我回滚到以前的部署并工作。我怀疑代码库有错误(你看起来没有什么奇怪的(。因此恢复到与有效的构建完全相同的代码。再次推动但没有帮助。
试过:
- 生成与有效的 las 部署完全相同的代码。
- 不同的浏览器、隐身模式、错误 cookie
- 更改SECRET_KEY_BASE
- 重新启动服务器
任何建议都表示赞赏。
使用导轨 5.0.7.2
它是 Rails5 + Heroku + CloudFlare,如下所述:
http://til.obiefernandez.com/posts/875a2a69af-cloudflare-flexible-ssl-mode-breaks-rails-5-csrf
"解决方案很简单。确保你在 Heroku 上(或者无论你在为 Rails 应用程序提供服务的任何地方(都有有效的 SSL 和 HTTPS。将 Cloudflare SSL 转为完整模式。问题解决了。