Skip to content
MtrXTools

wrong version number

TLS spoken to something that isn't TLS

Seen in OpenSSL, curl (error 35), Python ssl

The client started a TLS handshake and got back something that was not TLS, usually plain HTTP.

Common causes

  • Using https:// on a port that serves plain HTTP (often 80 or 8080).
  • Using implicit TLS (465) settings on a STARTTLS port (587), or the reverse.
  • A proxy configured with the wrong scheme.

How to fix it

  1. Use http:// for plain ports or point to the TLS port.
  2. For SMTP use port 465 with implicit TLS or 587 with STARTTLS, matching your client setting.
  3. Check HTTPS_PROXY uses http:// unless the proxy itself speaks TLS.
See which ports are open

Got a different message? Paste it into the error explainer.

Related errors

All 34 Command line & code errors