我工作的一个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,因为它似乎它会导致缓存页面,并成为难治清理这个缓存?