反馈 [已解决] config.force_ssl = false 后,post 动作还是会跳转到 https

liwei78 · 2015年04月21日 · 最后由 liwei78 回复于 2015年04月22日 · 2215 次阅读

在调试 ruby-china 代码的时候,production 中,已经设置了 config.force_ssl = false,GET 动作正常,但是 POST 动作还是会跳转到 https,请问这是什么原因?

这里可以测试到,发帖和修改帖子的时候,会出现这个问题。

http://ruby.liwei.me/topics

开启过之后,返回了 strict-transport-security:max-age=31536000 头,浏览器之后就只能通过 HTTPS 访问当前资源,禁止 HTTP。

https://developer.mozilla.org/zh-CN/docs/Security/HTTP_Strict_Transport_Security

解决方案是清理浏览器缓存。

奥,没看到 GET 正常,也许不是一楼的原因。

POST 动作是跳转还是直接发起的是 HTTPS?看看源码有没有写死。

#3 楼 @Rei 没有写死。

devise 登录还是正常 http 的,但是 topic 就会跳到 https。

找了好久原因,没进展。

#4 楼 @liwei78 看请求是服务器返回了 302, 或许是 nginx 的问题?查下 rails 生产日志或者 nginx 的访问日志才行。

#5 楼 @lyfi2003 太感谢了,你提醒我了,我是根据另一个 conf 改的,那个 conf 是 https 跳转。

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