I’ve been dealing with a frustrating SSL connection issue when trying to reach Mailgun’s API using curl. The strange part is that this problem only happens on one specific server.
When I run this command:
curl -vvv 'https://api.eu.mailgun.net/'
I get this error output:
* Connected to api.eu.mailgun.net (34.111.145.192) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.0 (OUT), TLS header, Unknown (21):
* TLSv1.3 (OUT), TLS alert, decode error (562):
* error:0A000126:SSL routines::unexpected eof while reading
* Closing connection 0
curl: (35) error:0A000126:SSL routines::unexpected eof while reading
My curl version info:
curl 7.81.0 (x86_64-pc-linux-gnu) libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.14
I tested the same curl version on another server with identical setup and it works fine there. I suspect this might be related to certificate issues. When I test the SSL connection directly with openssl:
openssl s_client -connect api.eu.mailgun.net:443 -CApath /etc/ssl/certs
I see this result:
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 320 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
Running Ubuntu 22.04. Any ideas what could be causing this server-specific SSL issue?