LoginSignup
1
0

More than 1 year has passed since last update.

curlエラー35:接続中の不明なSSLプロトコルエラー確認・対応方法

Posted at

テスト環境から外部連携落ちた

 アプリのテストから外部通信を落ちてた問題でした。ずっとcurl・opensslのエラーが出てました。Mac ターミナルから接続確認すると通常に連携できてました。Dockerコンテナ内で何かおかしいと感じました。

curlエラー内容

LS handshakeのすぐ後に不明のsslエラーで落ちてました。
* SSLv3, TLS handshake, Client hello (1):

[root@xyzabc web]# curl -v -H GET 'https://google.com'
* About to connect() to google.com port 443
*   Trying 142.251.42.174... connected
* Connected to google.com (142.251.42.174) port 443
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSLv3, TLS handshake, Client hello (1):
Unknown SSL protocol error in connection to google.com:443
* Closing connection #0
curl: (35) Unknown SSL protocol error in connection to google.com:443
  • google以外も他のサイトでも同じエラーで通信落ちてた。インタネットで色々調べたら、curlのバージョン古いなど色々記事出てました。

  • 次openssl/curlのバージョンの問題とお思って、それを確認してました。
     以下のバージョンの問題も無かった、別システムで問題なく同じバージョンで全部スムーズに動いてた。

[root@てすと環境web]# curl -V
curl 7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
Protocols: tftp ftp telnet dict ldap http file https ftps
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
-- openssl version check
[root@てすと環境web]# rpm -qa | grep -i openssl
openssl-0.9.8e-40.el5_11
openssl-0.9.8e-40.el5_11
openssl-devel-0.9.8e-40.el5_11
openssl-devel-0.9.8e-40.el5_11

-- openssl version check
[root@てすと環境web]# rpm -qa | grep -i curl
curl-7.15.5-17.el5_9
curl-7.15.5-17.el5_9
curl-devel-7.15.5-17.el5_9
curl-devel-7.15.5-17.el5_9
  • 次問題の切り分けとして、docker-image古いかもと考えて、調べてました

    • 全部のdocker imageを削除した。
    • 最新のimageをpullした
    • 再度curlを試す
      • 結果:また同じエラー出ました。Unknown SSL protocol error in connection to www.google.com:443
    • こちらを試してもエラーの詳細も同じ文言出てました。
  • docker image最新か確認して、pullか削除する

    • ターミナルでdocker imagesを実行する
    • docker rm imagesXX
REPOSITORY              TAG             IMAGE ID       CREATED         SIZE
abc/テスト1           テスト_最新    っっっっっっx      10 days ago      4.23GB
abc/テスト2           <none>        っっxxsfc2っっっx    5 weeks ago     3.97GB
abc/テストサビース1      最新          xっっっっっっっx     4 months ago    1.09GB
サビース21             最新          xっxxsfc2っっっっx   4 months ago    89.1MB
  • パソコン再起動で解決されるかも知れません、一度やってみました。
    • 結果:まだ同じエラー出てた
  • 最後にDocker Engineのバージョンを確認するしかなかった、

    • Docker desktop -> Preferencesー>Docker Engineにクリックするとバージョン情報などを表示される :v20.01.12
  • 上記のdocker engineのバージョン最新にアップデート後、再度curlを試した

    • 結果:成功した。responseも返ってきた!
[root@てすと環境web]# curl -v -H GET 'https://google.com'
* About to connect() to google.com port 443
*   Trying 142.251.42.174... connected
* Connected to google.com (142.251.42.174) port 443
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSLv3, TLS handshake, Client hello (1):
SSLv3, TLS handshake, Server hello (2):
.......
SSLv3, TLS handshake, Finished (20):
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="https://www.google.com/">here</A>.
</BODY></HTML>
* Connection #0 to host google.com left intact
* Closing connection #0
* SSLv3, TLS alert, Client hello (1):
[root@48da8a1f205a web]#

参考

・Curl Options
 https://curl.se/docs/manpage.html

・docker系
 https://docs.docker.jp/engine/reference/run.html#clean-up-rm
 https://docs.docker.com/engine/release-notes/#20100
 https://www.memotansu.jp/docker/692/
 https://docs.docker.com/engine/reference/commandline/image_rm/
 https://docs.docker.com/engine/reference/commandline/rmi/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0