LightAtom

ERR_SSL_PROTOCOL_ERROR: How to Fix It

Chrome couldn't complete the TLS (HTTPS) handshake with the site. Causes range from a wrong system clock or interfering software to a misconfigured server.

ERR_SSL_PROTOCOL_ERROR

The browser and the server couldn't agree on a secure (HTTPS) connection. The handshake failed, so the page wasn't loaded.

Quick checks

  • Check that your Mac's date and time are correct.
  • Try the site in a private window and in another browser.
  • Try another network: some public and company networks break HTTPS.
  • If you typed https:// for a site that only serves http, or a port like :8080, check the address.

Fixes on Mac

  1. Set the date and time automatically

    1. System Settings › General › Date & Time: turn on Set time and date automatically.
  2. Disable extensions and clear cached data

    1. Open a private window (⌘⇧N); if the site works there, disable extensions one by one.
    2. Delete cached images and files in Chrome's privacy settings.
  3. Turn off HTTPS-scanning software

    1. Antivirus, VPN or proxy apps that inspect HTTPS (or debugging proxies like Charles) can break the handshake. Pause them and retry.
    2. Check System Settings › Network › Wi-Fi › Details › Proxies for leftover proxy settings.
  4. Disable QUIC in Chrome to test

    1. Open chrome://flags/#enable-quic, set Experimental QUIC protocol to Disabled and relaunch.
    2. If that fixes it, a network device is mishandling QUIC; set it back to Default once the network is fixed.

Fixes on Windows

  1. Clear the SSL state and check the clock

    1. Open Internet Options (Win+R, inetcpl.cpl) › Content › Clear SSL state.
    2. Settings › Time & language › Date & time: set time automatically.
  2. Check antivirus and proxy

    1. Turn off HTTPS scanning in your antivirus briefly to test.

Other devices

  1. Phones

    1. Check the date and time are set automatically.
    2. Try mobile data instead of Wi-Fi.

Still not working?

If you run the site, test it with an SSL checker or openssl s_client -connect example.com:443 -servername example.com. Common server-side causes:

  • HTTPS on a port that actually serves plain HTTP (for example, listen 443; without ssl in nginx).
  • Only old protocol versions enabled (TLS 1.0/1.1) or no shared cipher suites.
  • A broken certificate chain or a missing SNI configuration for the host name.

See what’s happening

LightAtom's connections view shows whether your browser connects to a proxy address instead of the site's servers, and which process runs that proxy.

Frequently asked questions

What causes ERR_SSL_PROTOCOL_ERROR?

A failed HTTPS handshake. On your side: a wrong clock, HTTPS-inspecting security software, proxies, or a network that interferes. On the server's side: plain HTTP on port 443, outdated TLS versions or a misconfigured certificate.

Is it safe to bypass ERR_SSL_PROTOCOL_ERROR?

There's no bypass button, and that's deliberate: without a working secure connection, data could be intercepted. Fix the cause instead.

Why does it only happen on one Wi-Fi network?

That network may filter or inspect HTTPS traffic, as some schools, offices and hotels do. A captive portal you haven't logged into can also cause it.

How do I test a site's TLS from my Mac?

Run openssl s_client -connect example.com:443 -servername example.com in Terminal. A successful handshake prints the certificate chain and the negotiated protocol.

LightAtom team

The people who build LightAtom, a network monitor for macOS.