Rails服务器错误"错误的请求行"与HTTPS

2 https ruby-on-rails

我在启动服务器时遇到此错误

    [2016-01-06 18:57:00] ERROR bad Request-Line `\x16\x03\x01\x00?\x01\x00\x00?\x03\x03B0?c?ezc?*?[S'.
    [2016-01-06 18:57:00] ERROR bad URI `?\x00?7???\x04^\b??\x02W'???U??1lH|?A?t\x00\x00\x1E?+?/\x00??\x14?\x13?'.
    [2016-01-06 18:57:00] ERROR bad Request-Line `\x16\x03\x01\x00?\x01\x00\x00?\x03\x02?\x05\x01\x1D??~?-\x01L?\x01???L"??\f? ????[?\x0F?\x00\x00\x14?'.
    [2016-01-06 18:57:00] ERROR bad Request-Line `\x16\x03\x01\x00?\x01\x00\x00?\x03\x01

\x0E?|?s??(?9??4V:??*\f'\fh^?&???-?\x00\x00\x14?'.
Run Code Online (Sandbox Code Playgroud)

我禁用了config.force_ssl = false,我也卸载了瘦...但每次打开时localhost:3000,它都会自动打开HTTPS版本https://localhost:3000/.

Sim*_*tti 5

有两个可能的原因:

  1. https可能位于浏览器缓存中.清除浏览器缓存,关闭浏览器并重试.
  2. 正如我在本文中解释的,force_ssl配置还设置了HSTS标头.此标头告诉浏览器任何后续请求必须将该域发送到HTTPS而不是HTTP(直到先前设置的到期,默认为1年).您还必须从浏览器HTTP列表中删除该域.如何删除域取决于特定的浏览器.以下是Chrome和Firefox的示例.