2

我正在尝试让 HTTPS 为我的网站工作,但我正在接受ActionController::InvalidAuthenticityToken所有发布请求。我记录了form_authenticity_paramand form_authenticity_token,它们实际上是不同的。

SSL 在 Elastic Load Balancer 处解析,并且非 SSL 请求被发送到 Web 应用程序。预期的 CSRF 令牌存储在基于 cookie 的会话中,因此 HTTP 和 HTTPS 的会话似乎需要不同的令牌。在站点上使用 HTTP 时,post/put 请求工作正常。

我已经被这个问题困住了一段时间。任何意见将是有益的

4

1 回答 1

5

我有同样的问题,但它不是轨道。

我通过添加proxy_set_header X-Forwarded-Proto https;我的 nginx.config解决了这个问题

  location @videos {
    proxy_pass http://videos;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Host $http_host;
    proxy_redirect off;
  }
于 2017-10-13T09:51:21.543 回答