Troubleshoot protocol issues
This guide covers common HTTP/2 and HTTP/3 issues, including origin incompatibility, multiplexing errors, and browser errors, with steps to diagnose and resolve them.
- The origin's 
max_concurrent_streamsis negotiated during the handshake process. - If a 
GOAWAY(0)is received, it is likely due to a server restart or another reason causing the server to refuse new streams. - For more information, refer to RFC 9113 - SETTINGS_MAX_CONCURRENT_STREAMS ↗.
 
- Multiplexing issues can arise due to incorrect server configurations.
 - Use netlogs ↗ to identify 
SETTINGS_MAX_CONCURRENT_STREAMSviolations or unexpectedGOAWAYframes. - For more information, refer to Stream Concurrency Issues ↗.
 
Common browser errors include:
ERR_HTTP2_PROTOCOL_ERRORERR_HTTP3_PROTOCOL_ERRORERR_QUIC_PROTOCOL_ERROR
These errors do not necessarily indicate a protocol-level issue. Follow these steps:
- Attempt reproduction using HTTP/1.1.
 - If the issue persists in HTTP/1.1, address the underlying error before testing HTTP/2 or HTTP/3.
 - If the issue does not persist, analyze netlogs for HTTP/2 or HTTP/3-specific issues.
 
For more information, refer to Chromium URL Request Header ↗.
Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Products
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark