Chrome network error · -107 · Connection
ERR_SSL_PROTOCOL_ERROR
Chromium's description
An SSL protocol error occurred.
Chrome shows it as net::ERR_SSL_PROTOCOL_ERROR, error -107. puppeteer and Playwright report the same name when a page fails to load in Chromium.
Common causes
- The server speaks plain HTTP on the HTTPS port (443), or HTTPS on a port where Chrome expects HTTP.
- A broken or incomplete TLS configuration on the server or CDN.
- An antivirus, firewall or proxy that intercepts HTTPS and breaks it.
- A wrong system date and time.
How to fix ERR_SSL_PROTOCOL_ERROR
- Check the system date and time.
- Turn off HTTPS scanning of your antivirus and any proxy, then retry.
- Clear the SSL state (Windows: Internet Options, Content, Clear SSL state) and the browser cache.
- Site owners: test the site with an SSL checker, make sure port 443 serves TLS with a valid certificate chain and supports TLS 1.2 or 1.3.
ERR_SSL_PROTOCOL_ERROR in the screenshot API
When the page itself fails to load with ERR_SSL_PROTOCOL_ERROR, the API answers 502 with the message The target website could not be loaded (ERR_SSL_PROTOCOL_ERROR). (target_unreachable). Not billed.
Only the page's own load can fail a render. An image, script or frame of the page that fails with a network error does not: the page is captured as the browser shows it without that resource.
Check whether a website loads
Frequently asked questions
What does ERR_SSL_PROTOCOL_ERROR mean?
How do I fix ERR_SSL_PROTOCOL_ERROR?
Is a screenshot that fails with ERR_SSL_PROTOCOL_ERROR billed?
Other common errors
Screenshot API
Take screenshots from your code
screenshotbase renders any website in a real browser and returns the image: full page or viewport, any device size, retina, from 100+ countries, with cookie banners and ads hidden.
/v1/take documentation Screenshot API All documentation
300 free screenshots every month. No credit card required.
GET https://api.screenshotbase.com/v1/take?url=https://example.com&full_page=true
# Response: the image (PNG, JPG, WebP or GIF)
curl -G "https://api.screenshotbase.com/v1/take" \
--data-urlencode "url=https://example.com" \
-d viewport_width=1280 -d viewport_height=800 \
-d format=png \
-H "apikey: YOUR-API-KEY" \
-o screenshot.png