在让一个新项目开始工作后,我发现由于某种原因我无法启动我的 Rails 服务器。我不断收到以下错误:
HTTP parse error, malformed request: #<Puma::HttpParserError: Invalid HTTP format, parsing fails. Are you trying to open an SSL connection to a non-SSL Puma?>
我通过清除浏览历史记录、cookies 和保存的图像解决了这个问题。
单击... 更多工具 清除浏览数据
删除从一开始以来的所有内容。
错误的根本原因是 Puma 在 HTTP 模式下运行,收到了 HTTPS 请求。
在我的特定情况下,我正在运行 Capybara 系统测试,驱动 Chrome 浏览器,配置为使用域名主机名(而不是
127.0.0.1
)。
浏览器首次加载时出现两个错误:
HTTP parse error, malformed request: #<Puma::HttpParserError: Invalid HTTP format, parsing fails. Are you trying to open an SSL connection to a non-SSL Puma?>
这是由于 Chrome 尝试自动将所有 HTTP 连接升级到 HTTPS,在我的情况下,可以安全地忽略(直到 Chrome 将 HTTPS-First 模式设置为默认模式)。