使用HTTPS + ELB

时间:2017-02-06 05:09:11

标签: ruby-on-rails ssl csrf-protection elastic-load-balancer authenticity-token

我正在尝试让HTTPS为我的网站工作,但我收到所有帖子请求的ActionController::InvalidAuthenticityToken。我记录了form_authenticity_paramform_authenticity_token,实际上它们不同。

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

我一直坚持这个问题。任何建议都会有所帮助

1 个答案:

答案 0 :(得分:3)

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

我通过在我的nginx.config

中添加proxy_set_header X-Forwarded-Proto https;来解决问题
  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;
  }