16.04 - curl: (35) gnutls_handshake() が失敗しました: pull 関数でエラーが発生しました

16.04 - curl: (35) gnutls_handshake() が失敗しました: pull 関数でエラーが発生しました

HTTPS Web サイトに接続しようとすると、このエラーが発生しますcurl: (35) gnutls_handshake() failed: Error in the pull function.

詳細に:

curl -vvv "https://example.tld"
* Rebuilt URL to: https://example.tld/
*   Trying 1.2.3.4...
* Connected to example.tld (1.2.3.4) port 443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 592 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* gnutls_handshake() failed: Error in the pull function.
* Closing connection 0
curl: (35) gnutls_handshake() failed: Error in the pull function.

このウェブサイトの TLS 構成は正しく構成されているようです。

詳しくは:

$ curl -V
curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.4 LTS
Release:    16.04
Codename:   xenial

答え1

統計ページにアクセスしようとしたときに、まさにそのメッセージが表示されました。https://mmonit.com/monit/ よりmonit の構成ファイルにクライアント IP をホワイト リストに登録せずに、https 経由でインストールします。

もちろん、あなたの質問は monit とは関係ありませんが、同じようにリクエストをブロックする何か (ファイアウォールなど) があり、SSL ハンドシェイクが通過しない可能性があります。

関連情報