如何在我的Heroku中设置force_ssl假除去无限重定向循环?(How to remove i

2019-09-16 23:36发布

我工作的一个Rails 3.1.0应用程序,需要有在这取决于用户的一些网页SSL。

我在配置/ enviroments / staging.rb设置好的config.force_ssl为false。 增加了一个前过滤器,来决定是否重定向到HTTP。 重定向开发工作,如果我清理缓存。

事情是在升级,这会导致一个重定向循环。 我相信,force_ssl使用永久重定向,所以当DNS被问起在我的应用程序的页面时,它仍然设法重新使用SSL的页面。 这有道理吗?

我有哪些选择?

编辑

我清理缓存。 这不仅解决了这个问题,我第一次进入该页面。 可以说,我刷新所有缓存和输入http页面。 这显示HTTP页面。 当我退出页面,输入具有SSL另一页,并尝试回到HTTP页面,无限重定向重新开始。

我实现的解决方案是重定向到一个不安全的子域。 让我们把它叫做“不安全”。 所以,当我需要重定向到一个HTTP页面,我重定向到http://unsafe.mydomain.com 。 这解决了无限的重定向,但有些https网页仍在缓存。

我想真正的问题是它是有用的用时:状态=>:moved_permanently,因为它似乎它会导致缓存页面,并成为难治清理这个缓存?

Answer 1:

首先,你为什么不只是强制SSL的所有网页? 有很少的性能开销,但在混合模式下运行您介绍泄露你的想法是安全的cookie,如果你不小心的潜力。 SSL无处不在:)

现在,你的问题,我怀疑这有什么用DNS,并且更容易与模式匹配的逻辑,当它应该重定向各地正则表达式做。 是否包括主机名/域名? 如果是这样它运行在升级的域相匹配?



文章来源: How to remove infinite redirect loop after I set force_ssl to false in heroku?