【发布时间】:2020-01-06 21:09:43
【问题描述】:
对我的 2 个 Rails 实例发出的 Web 请求有时会产生以下错误(静默)
...
W, [2019-09-04T10:53:53.880137 #13871] WARN -- : Can't verify CSRF token authenticity
I, [2019-09-04T10:53:53.880465 #13871] INFO -- : Completed 422 Unprocessable Entity in 1ms (ActiveRecord: 0.0ms)
...
我相信这是因为 CSRF 令牌是从 1 个实例生成的,而上述请求是针对另一个实例的。
如何在不禁用 CSRF 令牌的情况下解决此问题?
当前设置是 2 个虚拟机(在不同的机器上)运行同一个 Rails 应用的副本,位于负载平衡器后面。我查看了日志,并且这种情况每天至少发生 10 次。
任何帮助将不胜感激
【问题讨论】:
-
您使用什么负载均衡器?负载均衡器设置中应该有一个简单的选项,可以将请求转发到同一客户端的同一实例。
-
我们使用 BinaryLane 进行托管。他们有一个load balancer solution
标签: ruby-on-rails csrf