HTTPoisonで handshake failure を食らった
プログラミングElixirの第13章、GitHubにアクセスしてIssue一覧を取得するというのを写経していたら表題の問題にはまりました。https のサイトに接続しようとすると発生するようです。
こちらに従って hackney のバージョンを 1.6.1 に下げることで回避できることを確認したのでご報告します。かしこ
- { :httpoison, "~> 0.8" }
- http://api.github.com/repos/elixir-lang/elixir にGetリクエストを投げる
- 301 Moved Permanently を食らう
- https://api.github.com/repos/elixir-lang/elixir にGetリクエストを投げ直す
- おおっと handshake failure!!
1 2 3 4 5 6 7 | iex(9)> Issues.GithubIssues.fetch("elixir-lang", "elixir") Issues.GithubIssues.fetch("elixir-lang", "elixir") 21:33:55.543 [error] SSL: :certify: tls_connection.erl:688:Fatal error: handshake failure - malformed_handshake_data ** (FunctionClauseError) no function clause matching in Issues.GithubIssues.handle_response/1 (issues) lib/issues/github_issues.ex:14: Issues.GithubIssues.handle_response({:error, %HTTPoison.Error{id: nil, reason: {:tls_alert, 'handshake failure'}}}) |
どうやら hackney まわりのなにかが原因らしいのですが、、、無事に hackney バージョンを下げることで回避できました。
HTTPoisonでhttpsのサイトにアクセスしたら、handshake failure になって接続できないっという。。。hackneyのバージョンを下げれば動かせることは確認したので、そのまわりなのは確実だけど、現在該当箇所を探し中
— ハヤブサ@技術書典2う-02の錬金術士 (@hayabusa333) 2016年12月31日
@hayabusa333 さんの情報が決め手になりました。
コメント
コメントを投稿