【发布时间】:2015-08-17 02:11:24
【问题描述】:
在 AWS OpsWorks 上。我正在使用一个 ELB,它有我的 CA 的 SSL 证书。
第一个访问点始终是负载平衡器 (ELB)。 ELB 将流量引导到实例。每个实例都有一个 Rails 应用程序、Unicorn 等的副本。
有一点需要注意。 ELB后面的实例不能直接访问。
此时,我需要在 Rails 中force_ssl 吗?我听说在边界 (ELB) 终止 SSL 很常见。
据我所知,force_ssl 提供以下信息:
- 自动将流量从 http 重定向到 https。
- 将 cookie 标记为安全和一些额外的保护(即防止 MITM 攻击)。
http://api.rubyonrails.org/classes/ActionController/ForceSSL/ClassMethods.html 仅表示 http 到 https 的重定向。
What does force_ssl do in Rails? 第二个答案表明force_ssl 不仅仅是重定向。
如果我决定不使用force_ssl,我可以通过编写 Nginx 定义来管理重定向。
鉴于这种情况,感觉通过 Rails 强制 SSL 已经过时了,因为 SSL 协商已经在 ELB 中进行。还需要force_ssl吗?有什么额外的好处吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 ssl amazon-web-services load-balancing