When trying to connect to a HTTPS websites, I get this error curl: (35) gnutls_handshake() failed: Error in the pull function..

In detail:

curl -vvv "https://example.tld"
* Rebuilt URL to: https://example.tld/
*   Trying
* Connected to example.tld ( 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.

This website's TLS configuration seems to be configured correctly.

More information:

$ 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
    Are you in a virtual environment or behind any proxies? related: serverfault.com/q/892880/340066 , askubuntu.com/q/186847/367990 , ...
    – Byte Commander
    Mar 22, 2018 at 10:29
  • @ByteCommander I have this issue on my VPS.
    – D Major
    Mar 22, 2018 at 12:10
  • @ByteCommander I think I didn't set up any proxy on that server.
    – D Major
    Mar 23, 2018 at 2:19
  • @ToPo Is your issue resolved? Can you please help me if you succeeded. Thanks
    – Harman
    May 7, 2018 at 5:15
  • I am stuck with this issue for many days. The next solution in front of me is a little bit expensive, to buy a MacBook and use MacOS Aug 23, 2020 at 7:35

1 Answer 1


I got that exact message when I was trying to access the stats page of a https://mmonit.com/monit/ installation over https, while not having white listed my client IP to monit's configuration file.

Your question does not relate to monit of course, but maybe there is something blocking the request in the same way (e.g a firewall), thus the ssl handshake doesn't go through.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.