Rails:激活SSL支持让Chrome感到困惑

Ale*_*vin 6 ssl https ruby-on-rails

有一个很好的选项来配置Rails应用程序:

config.force_ssl = true

但是,似乎只是将其设置为true并不会使HTTPS连接正常工作.更多 - 尝试(并失败)使用Chrome 连接到https:// localhost:3000后,我将此选项设置为false,即使我写了http,Chrome仍会尝试打开https.

所以,几个问题:

- 如何强迫Chrome不再尝试https? - 在我的Rails应用程序上启用SSL的正确方法是什么?

更新:该应用程序在Heroku上运行,似乎自动支持https.我可以在本地测试SSL吗?喜欢运行rails服务器?

Bru*_*uno 5

首先,我应该说我没有尝试过,但Chrome仍然使用HTTPS主要有两个原因:

  • 使用HTTP严格传输安全标头:如果服务器设置它们,则客户端(支持HSTS,如Chrome)将针对该主机的所有后续请求坚持使用HTTPS.

  • 永久重定向.如果你得到的初始重定向是使用"301 Moved Permanently"(而不是302)来进行重定向,(*)浏览器应该记住它(" 请求的资源已被分配了一个新的永久URI和任何未来对此资源的引用应该使用返回的URI之一 ").

一个可能的解决方案是清除浏览器中的缓存.

(*)这个问题似乎表明Ruby on Rails具有此配置的情况).