[通过force_ssl
方法(使用CloudFlare的一键式SSL功能实现SSL)实施ssl时,我在Rails 4应用程序上获得重定向循环。
当我在CloudFlare中从“灵活”设置切换为“完全” SSL设置时,这种情况就停止了。
Cloudflare试图通过HTTP强制连接,因为您的服务器没有HTTPS,但是您的应用正在强制使用SSL。
Flexible
,并且CF和Heroku之间允许使用HTTP。HTTPS
连接到域解决
Full
。First:我在服务器上配置了SSL。就我而言,我使用的是Heroku,它可以使用Let's Encrypt自动设置SSL。如果没有,则直接使用“让我们加密”。 Cloudflare还提供了自签名的原始证书,但是当“轻松加密”变得容易又免费时,何必麻烦呢?
第二:
通过将以下内容添加到production.rb
],我将我的应用配置为强制执行SSLconfig.force_ssl = true
由于我不再需要服务器与Cloudflare之间的HTTP连接,因此将其从第三:
Flexible
切换为Full
。如果已使用“让我们加密”或CA来供应服务器的证书,则可以切换到Flexible (Strict)
。