Ruby on rails - 如何使用停用 Webrick 的 SSL



上周我尝试在webbrick中激活SSL进行调试,但我忘记了如何将设置恢复为默认值(没有SSL)。每次我访问控制器时,现在它都会显示:

SSL 连接错误 无法与服务器建立安全连接。这可能是服务器的问题,或者可能需要您没有的客户端身份验证证书。 错误 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL 协议错误。

下面是来自控制台的日志,有人可以帮忙吗?

[2011-05-10 07:28:43] 信息 WEBrick 1.3.1 [2011-05-10 07:28:43]INFO 红宝石 1.8.7 (2009-06-12) [通用-达尔文10.0] [2011-05-10 07:28:43]INFO WEBrick::HTTPServer#start: pid=62854 port=3000 [2011-05-10 07:28:58]错误错误请求行"UQM?x?ʾ???????c??B?????n???埠???*???98?5EDf32?A/??'。

我今天遇到了同样的问题。我config.force_ssl = true添加到 application.rb 文件中并收到上述错误。当我删除该行时,错误仍然存在。

我通过清除浏览器cookie(在这种情况下为Chrome)来修复它,它再次工作。似乎身份验证信息保存在cookie中,并且我不断将我们的请求还原为HTTPS,但未正确进行身份验证,因此您会收到该错误。清除 cookie 可以解决这个问题。

我遇到了类似的问题,但无法通过清除 Chrome 上的 cookie(以及任何其他修复程序,如 rake tmp:clear)来解决它,最终切换到使用启用 SSL 的瘦,如这篇文章所示:

https://stackoverflow.com/a/11614213

将此添加到我的宝石文件中:

group :development do
   gem "thin"
end

然后bundlethin start --ssl.

我不得不使用rake tmp:sessions:clear(不仅仅是rake:tmp:clear)以及清除浏览器中的cookie来解决此问题。

打开Chrome开发者工具,单击并按住"页面重新加载"按钮,您将看到一些选项,选择"清空缓存和硬重新加载"。为我做了这个把戏。

同样,

在我的配置/locales/application.rb 文件中添加config.force_ssl = true后,我收到了同样的错误

要纠正SSL错误,只需在config/initializers/session_store.rb中编辑Rails.application.config.session_store :cookie_store, key: '_app_sessions'

'_app_sessions'名称更改为其他任何名称将允许您在没有 SSL 和错误的情况下启动 rails 服务器

相关内容

  • 没有找到相关文章

最新更新