向我的网站添加 SSL 支持后,我得到一个无限重定向循环。我正在使用“SslRequirement”插件。
我看到的症状是,任何启用了“ssl_required”的操作,以及我手动输入的任何前面有 https 的 URL,都会进入无限循环,在 development.log 文件中反复出现以下内容直到浏览器捕捉到重定向循环并停止加载页面(“/admins/index”是本示例中的操作,但任何操作都会发生):
Processing AdminsController#index (for 127.0.0.1 at 2010-08-13 13:50:16) [GET]
Parameters: {"action"=>"index", "controller"=>"admins"}
Redirected to https://localhost/admins
Filter chain halted as [:ensure_proper_protocol] rendered_or_redirected.
Completed in 0ms (DB: 0) | 302 Found [http://localhost/admins]
起初,我认为存在某种问题,我必须将所有操作都设置为“ssl_allowed” - 所以我尝试了这一点,但无济于事。
如果我删除了 SslRequirement 的使用,并删除了任何“ssl_required/ssl_allowed”引用,那么 https 工作正常 - 所以从 http 到 https 的操作重定向似乎是问题所在。
有什么线索吗?