ERR_HTTP2_PROTOCOL_ERROR Browser Origin: On your device Last updated 15 Oct 2026

Chrome: This page isn’t working — example.com is unable to handle this request. ERR_HTTP2_PROTOCOL_ERROR

The HTTP/2 connection broke a protocol rule — a server, proxy or CDN sent an invalid or oversized frame/header, or closed the stream abnormally.

Exact message you may see is unable to handle this request
Seen on: Chrome Edge Nginx Apache

Meaning

Seen with oversized headers or cookies, buggy proxies, mismatched Content-Length, and PHP/Nginx or Apache modules that corrupt responses. Visitors can try clearing cookies; owners should inspect the response with curl --http2 -v and the web server logs. Temporarily disabling HTTP/2 confirms the diagnosis.

Common causes

  • Oversized response headers or cookies
  • Wrong or duplicate Content-Length / Transfer-Encoding
  • Proxy/CDN or WAF bug with HTTP/2
  • Server crash while streaming a response
  • Outdated HTTP/2 module

⚡ Quick fix

  1. Clear cookies for the site and reload
  2. Owners: test with curl --http2 -v vs --http1.1
  3. Disable HTTP/2 temporarily or update the web server/proxy

Detailed fix by platform

Nginx

  1. Test without HTTP/2: remove http2 from the listen 443 ssl http2; line, reload, and see if the error stops

Apache

  1. Protocols http/1.1 in the vhost disables HTTP/2 for a test

Linux

  1. curl --http2 -sv https://example.com -o /dev/null and compare with curl --http1.1 -sv ...

How to diagnose

  1. Protocol — Does HTTP/1.1 work?
  2. Headers — Are headers or cookies very large?
  3. Logs — Server error at that time?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: On your device. Errors that are often confused with or caused by this one (click to open):

100 — HTTP 100 Continue (HTTP)100103 — HTTP 103 Early Hints (HTTP)103431 — HTTP 431 Request Header Fields Too Large (HTTP)431505 — HTTP 505 HTTP Version Not Supported (HTTP)505ERR_CONTENT_DECODING_FAILED — Chrome: This page isn’t working — sent an invalid response. ERR_CONTENT_DECODING_FAILED (Browser)ERR_CONTENT_DECODING_…ERR_EMPTY_RESPONSE — Chrome: This page isn’t working — example.com didn’t send any data. ERR_EMPTY_RESPONSE (Browser)ERR_EMPTY_RESPONSEERR_QUIC_PROTOCOL_ERROR — Chrome: This site can’t be reached — ERR_QUIC_PROTOCOL_ERROR (HTTP/3 over UDP blocked) (Browser)ERR_QUIC_PROTOCOL_ERR…ERR_TOO_MANY_REDIRECTS — Chrome: This page isn’t working — example.com redirected you too many times. ERR_TOO_MANY_REDIRECTS (Browser)ERR_TOO_MANY_REDIRECTSERR_HTTP2…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.