HTTPS fails with SSL_ERROR_SYSCALL on Vercel custom domain while HTTP works

Problem

I’m experiencing an HTTPS issue with my custom domain connected to Vercel.

The domain resolves correctly to Vercel, HTTP works, but HTTPS fails with a TLS handshake error. Global DNS propagation is complete and verified.

Current Behavior

  • http://kandarabursary.com loads successfully
  • https://kandarabursary.com fails with ERR_CONNECTION_CLOSED
  • curl -Iv https://kandarabursary.com returns: OpenSSL SSL_connect: SSL_ERROR_SYSCALL
  • TCP connects successfully to 216.198.79.1:443
  • TLS handshake is immediately closed

Expected Behavior

  • HTTPS should serve normally with a valid SSL certificate.

DNS Configuration

  • A record: @216.198.79.1
  • CNAME: wwwcname.vercel-dns.com

DNS verified globally using:

dig @8.8.8.8 kandarabursary.com A
dig @1.1.1.1 kandarabursary.com A

Both return: 216.198.79.1

Debugging Performed

  • Ran Vercel connectivity debug script
  • All Vercel edge IPs respond to ping (0% packet loss)
  • TLS handshake fails consistently across all edge IPs
  • HTTP works, HTTPS fails

This appears to be a stuck SSL certificate provisioning or TLS routing issue on the Vercel edge.

Environment

  • Domain: kandarabursary.com
  • Project: bursary-platform
  • Framework: Next.js
  • Environment: Production
  • Plan: Hobby
  • DNS Provider: Truehost
  • Domain added to Production environment
  • SSL auto-issuance enabled

Any assistance checking SSL certificate binding or TLS provisioning on the edge would be appreciated.

@samuelkaranja I can’t completely reproduce the problem… sometimes your website is loading fine for me (both http and https), sometimes it’s not.
Judging by the headers the site returns when it’s working, it looks to me like Netlify is serving your site currently. Maybe you migrated your website from Netlify to Vercel and forgot to remove Netlify DNS records?

1 Like