InvalidAuthenticityToken in Rails 5 落后于 Nginx 使用 SSL
InvalidAuthenticityToken in Rails 5 behind Nginx using SSL
我在使用 Rails 5 (beta1) 时遇到了一个非常奇怪的问题,它阻止我安全地提交任何表单。
当 运行 在 Nginx(Ubuntu 12.04 上的 1.4.6)解密 SSL 的反向代理后面的生产模式下,Rails 拒绝我的 CSRF 令牌,尽管它们无效表单提交了正确的标记这一事实。
当我在 Nginx 中关闭 SSL 时一切正常。
如有任何帮助,我们将不胜感激。
通过在 Nginx 中添加更多 header 来修复(X-Forwarded-Ssl on
、X-Forwarded-Port 443
和 X-Forwarded-Host "your hostname"
、X-Forwarded-Proto https
)。问题实际上出在 ActionController 检查 CSRF 令牌的新方法中(将 request.base_url 与原点 header 进行比较)
我在使用 Rails 5 (beta1) 时遇到了一个非常奇怪的问题,它阻止我安全地提交任何表单。
当 运行 在 Nginx(Ubuntu 12.04 上的 1.4.6)解密 SSL 的反向代理后面的生产模式下,Rails 拒绝我的 CSRF 令牌,尽管它们无效表单提交了正确的标记这一事实。
当我在 Nginx 中关闭 SSL 时一切正常。
如有任何帮助,我们将不胜感激。
通过在 Nginx 中添加更多 header 来修复(X-Forwarded-Ssl on
、X-Forwarded-Port 443
和 X-Forwarded-Host "your hostname"
、X-Forwarded-Proto https
)。问题实际上出在 ActionController 检查 CSRF 令牌的新方法中(将 request.base_url 与原点 header 进行比较)