Rails服务器没有启动HTTP解析错误,格式错误的request():#<puma :: httpparsererror:

时间:2017-01-03 07:16:19

标签: ruby-on-rails ruby ruby-on-rails-5 puma

=“”

代码中断后,我得到了以下错误。然后我使用ctl + c关闭服务器并确保没有进程运行ruby或rails。然而,当我尝试运行服务器时,它说同样的错误:

2017-01-03 13:08:24 +0600: HTTP parse error, malformed request (): #<Puma::HttpParserError: Invalid HTTP format, parsing fails.>
2017-01-03 13:08:24 +0600: ENV: {"rack.version"=>[1, 3], "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>true, "rack.multiprocess"=>false, "rack.run_once"=>false, "SCRIPT_NAME"=>"", "QUERY_STRING"=>"", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"puma 3.6.0 Sleepy Sunday Serenity", "GATEWAY_INTERFACE"=>"CGI/1.2"}

2 个答案:

答案 0 :(得分:1)

以下是一些可能的解决方案。

  1. 确保您通过http://localhost:3000而不是https://localhost:3000进行连接。

  2. 如果浏览器重定向到HTTPS,请尝试清除浏览器缓存和Cookie。

  3. 如果浏览器仍然重定向到HTTPS并且是谷歌浏览器,请尝试解决HSTS问题的解决方案:https://stackoverflow.com/a/28586593

  4. 确保您没有强制HTTPS的生产环境(如果这就是您所服务的)。如果这是问题,请注释掉:

  5. 在config / environments / production.rb

    # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
      config.force_ssl = true
    

答案 1 :(得分:0)

我在不小心访问 require 'digest' def crack_PIN(hash) md5 = Digest::MD5.new permutations = [0,1,2,3,4,5,6,7,8,9].permutation(5).to_a perm_digest = permutations.map{|element| md5.hexdigest(element.map{|num| "#{num}"}.join)} x = perm_digest.index(hash) permutations[x].map{|num| "#{num}"}.join end 时遇到了这个问题,而我的 localhost 项目在 Nginx 中配置为在 localhost:3000 中有一个 TLS 证书和一个域名。