16.04 - curl: (35) gnutls_handshake() 失败:pull 函数出错

D M*_*jor 6 networking curl openssl gnutls

尝试连接到 HTTPS 网站时,出现此错误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.
Run Code Online (Sandbox Code Playgroud)

该网站的 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
Run Code Online (Sandbox Code Playgroud)

小智 1

当我尝试通过 https 访问https://mmonit.com/monit/安装的统计页面时,我得到了确切的消息,同时没有将我的客户端 IP 列入白名单来监控配置文件。

当然,您的问题与 monit 无关,但也许有什么东西以同样的方式阻止请求(例如防火墙),因此 ssl 握手不会通过。