代码之家  ›  专栏  ›  技术社区  ›  newBike

SSL对等证书或SSH远程密钥不正常(Curl::Err::SSLPeerCertificateError)

  •  4
  • newBike  · 技术社区  · 10 年前

    我在ubuntu上得到了错误,但在mac上工作

    但如果我在ubuntu上运行curl命令,它就可以工作了。路缘石是一块马车宝石吗?

    2.1.0/gems/curb-0.8.6/lib/curl/easy.rb:72:in `perform': SSL peer certificate or SSH remote key was not OK (Curl::Err::SSLPeerCertificateError)
    

    红宝石

    resp = Curl::Easy.http_post(server_url, content_to_send) do |curl|
      curl.ssl_verify_peer = false
      curl.headers = header.clone
    end
    

    细节

    /home/poc/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/curb-0.8.6/lib/curl/easy.rb:72:in `perform': SSL peer certificate or SSH remote key was not OK (Curl::Err::SSLPeerCertificateError)
        from /home/poc/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/curb-0.8.6/lib/curl/easy.rb:398:in `http_post'
        from /home/poc/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/curb-0.8.6/lib/curl/easy.rb:398:in `http_post'
        from curb.rb:12:in `curl_query'
        from curb.rb:21:in `<main>'
    
    1 回复  |  直到 10 年前
        1
  •  3
  •   Mirror318    7 年前

    我也犯了同样的错误,结果是你需要的linux机器 ssl_verify_host=0

    为了安全起见,我使用以下两种方法:

    resp = Curl::Easy.http_post(server_url, content_to_send) do |curl|
      curl.ssl_verify_peer = false
      curl.ssl_verify_host = 0
      curl.headers = header.clone
    end
    

    此外,您可能会在mac上开发,但部署到运行linux的服务器上,因此即使在mac上也更好地使用两者。