在调试 ruby-china 代码的时候,production 中,已经设置了 config.force_ssl = false,GET 动作正常,但是 POST 动作还是会跳转到 https,请问这是什么原因?
config.force_ssl = false
这里可以测试到,发帖和修改帖子的时候,会出现这个问题。
http://ruby.liwei.me/topics
开启过之后,返回了 strict-transport-security:max-age=31536000 头,浏览器之后就只能通过 HTTPS 访问当前资源,禁止 HTTP。
strict-transport-security:max-age=31536000
https://developer.mozilla.org/zh-CN/docs/Security/HTTP_Strict_Transport_Security
解决方案是清理浏览器缓存。
#1 楼 @Rei 问题依旧
奥,没看到 GET 正常,也许不是一楼的原因。
POST 动作是跳转还是直接发起的是 HTTPS?看看源码有没有写死。
#3 楼 @Rei 没有写死。
devise 登录还是正常 http 的,但是 topic 就会跳到 https。
找了好久原因,没进展。
#4 楼 @liwei78 看请求是服务器返回了 302, 或许是 nginx 的问题?查下 rails 生产日志或者 nginx 的访问日志才行。
#5 楼 @lyfi2003 太感谢了,你提醒我了,我是根据另一个 conf 改的,那个 conf 是 https 跳转。