rt
#2 楼 @michael_roshen 不应该有特别的配置。你可以发一下你的 nginx 配置看一下。
另外,注意代码里不要有 http 这样的硬编码即可。
#3 楼 @lyfi2003 我没有再 nginx 里配置 ssl,公司用的 LVS 统一做 ssl 认证 我再具体描述一下吧,以下是 rubychina 的例子,没有登录时,当访问 edit,会 302 跳到https://ruby-china.org/account/sign_in
Request URL:https://ruby-china.org/account/edit
Request Method:GET
Status Code:302 OK
location:https://ruby-china.org/account/sign_in
我这里就会先跳到 http://ruby-china.org/account/sign_in 再跳 https://ruby-china.org/account/sign_in
我想问的是 redirect 302 跳转 需要如何直接跳转到 https
会不会是这样的: 你的 lvs 是 http 方式转发,无论用户用什么过来,你收到的都是 http,rails 没有开启 ssl 时取当前 host,于是你的会被 301 到 http,然后 lvs 上做了 http 升 https,所以立马又 302 到 https