Rails Ruby China 是如何把请求全部转发给 https 的?strict-transport-security 吗?

michael_roshen · 2016年09月27日 · 最后由 michael_roshen 回复于 2016年09月28日 · 2577 次阅读

rt

Nginx 配置 ssl 即可。不知你想问什么?

#1 楼 @lyfi2003 我的应用首页是 https 的,但是发送请求的时候,都会 302 先跳到 http,然后再 301 跳到 https,是否有办法直接发送 https 请求,我看 rubychina 的路径写的也是相对路径,不知道是怎么配置的

#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

Rails 配置里面开启 ssl

会不会是这样的: 你的 lvs 是 http 方式转发,无论用户用什么过来,你收到的都是 http,rails 没有开启 ssl 时取当前 host,于是你的会被 301 到 http,然后 lvs 上做了 http 升 https,所以立马又 302 到 https

需要 登录 后方可回复, 如果你还没有账号请 注册新账号