【问题标题】:Elixir HTTPoison getting handshake_failureElixir HTTPoison 得到 handshake_failure
【发布时间】:2020-05-06 16:47:14
【问题描述】:

这是我的 curl 请求

`curl --insecure --location --request POST 'url' --header 'Content-Type: application/json' --data-raw '{
  "client_id": "test"
}'

效果很好!

现在这是我的灵药要求

HTTPoison.post("url", request, ssl: [verify: :verify_none])

这里出现错误

    {:error,
 %HTTPoison.Error{
   id: nil,
   reason: {:tls_alert,
    {:handshake_failure,
     'TLS client: In state certify at ssl_handshake.erl:1783 generated CLIENT ALERT: Fatal - Handshake Failure\n {bad_cert,unable_to_match_altnames}'}}
 }}

`

【问题讨论】:

标签: curl elixir httpoison


【解决方案1】:

您可以尝试强制 ssl 到 tlsv1.2

HTTPoison.post("url", request, ssl: [versions: [:"tlsv1.2"]])

如果这不起作用,请尝试删除ssl 键和/或如果您使用的是hackney,您可以尝试使用insecure 选项进行配置。

HTTPoison.post("url", request)

HTTPoison.post("url", request, [hackney: [:insecure]])

HTTPoison.post("url", request, [ssl: [versions: [:"tlsv1.2"]], hackney: [:insecure]])

顺便问一下,你用的是哪个版本的 Erlang?

第一个推荐被讨论here

【讨论】:

  • 强制 tls v1.2 比告诉 hackney 操作不安全要好
猜你喜欢
  • 2017-01-07
  • 2017-03-06
  • 1970-01-01
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
相关资源
最近更新 更多