Error reference Diagnose & fix

Proxy & scraping errors, decoded and fixed

Every error on this list links to a plain-English diagnosis: what the code actually means, the most common causes in scraping and proxy setups, ordered fix steps, and working code that avoids it. Bookmark it — the next 3 a.m. debugging session will go faster.

Error codes

HTTP status

400 Bad Request 400 Bad Request means the server couldn't parse your request. Fix malformed URLs, oversized cookies, header errors, and proxy protocol mismatches step by step. Diagnose 401 Unauthorized 401 Unauthorized means the target rejected your credentials, not your proxy. Fix expired tokens, dropped auth headers, and IP-bound sessions behind rotating proxies. Diagnose 403 Forbidden 403 Forbidden means the server refuses to serve you — often IP reputation, geo blocks, or bot filtering. Step-by-step fixes plus how residential proxies solve it. Diagnose 405 Method Not Allowed 405 Method Not Allowed means the endpoint rejects your HTTP verb. Find the allowed methods, fix redirect downgrades, and rule out your proxy the right way. Diagnose 407 Proxy Authentication Required HTTP 407 means the proxy rejected your credentials, not the target site. Step-by-step fixes for username, password, URL encoding, and IP whitelist auth. Diagnose 408 Request Timeout HTTP 408 means the server gave up waiting for your request to arrive. Causes, fixes, retry strategy, and how proxy latency and slow exits factor in. Diagnose 421 Misdirected Request HTTP 421 means the server can't serve that hostname on this connection — usually HTTP/2 connection reuse or an SNI/Host mismatch. Here's how to fix it. Diagnose 429 Too Many Requests HTTP 429 means you hit a rate limit. Learn how to read Retry-After, add backoff, tune concurrency, and spread traffic across rotating residential IPs. Diagnose 444 No Response HTTP 444 means the server closed your connection without replying — a silent nginx-level drop. Learn why requests get filtered and how to stop triggering it. Diagnose 499 Client Closed Request HTTP 499 means the client disconnected before the server answered. Learn what causes it in nginx logs and how to fix timeout mismatches and slow backends. Diagnose 500 Internal Server Error HTTP 500 means the server failed while handling your request. Learn what triggers it, when your request is the cause, and how to handle 500s when scraping. Diagnose 502 Error HTTP 502 means an intermediary server got no valid response from the server behind it. Learn how to tell which hop failed and fix 502s when scraping via proxies. Diagnose 503 Service Unavailable 503 means the server can't take requests right now — overload, maintenance, or rate limiting. Learn to diagnose the real cause and fix it with backoff and IP rotation. Diagnose 504 Timeout Error A 504 means an intermediary waited on the origin server and got no answer in time. See which hop timed out and fix it with retries, lower concurrency, and closer exits. Diagnose 520 Web Server Returned an Unknown Error Error 520 means Cloudflare got an empty or invalid response from the origin. Common causes, scraper-side triggers like oversized cookies, and a retry pattern that works. Diagnose 521 Web Server Is Down Error 521 means Cloudflare couldn't open a TCP connection to the site's origin server — it's down or blocking. Who can fix it, and how a crawler should respond. Diagnose 522 Connection Timed Out Error 522 means Cloudflare couldn't open a TCP connection to the site's origin server. Learn what causes it, what you can actually fix, and how to retry it correctly. Diagnose 524 A Timeout Occurred Error 524 means the origin server answered too slowly behind Cloudflare. See what causes it, how to request less work per call, and how to set timeouts and retries. Diagnose 525 SSL Handshake Failed Error 525 means TLS failed between Cloudflare and the site's origin — not on your side. Confirm the diagnosis, rule out local TLS lookalikes, and retry sensibly. Diagnose 526 Invalid SSL Certificate Error 526 means the origin's SSL certificate failed Cloudflare's validation. Learn why verify=False can't fix it, how to spot local lookalikes, and when to retry. Diagnose
Error codes

Browser & network

ERR_PROXY_CONNECTION_FAILED ERR_PROXY_CONNECTION_FAILED means your browser can't reach the configured proxy server at all. Fix stale settings, wrong ports, DNS, and firewall blocks step by step. Diagnose ERR_TUNNEL_CONNECTION_FAILED ERR_TUNNEL_CONNECTION_FAILED means the proxy refused the HTTPS CONNECT tunnel. Diagnose auth, blocked ports, and exit failures — and fix each one step by step. Diagnose ERR_CONNECTION_REFUSED ERR_CONNECTION_REFUSED means the host actively rejected your TCP connection — nothing listens on that port. Isolate the refusing hop and fix ports, DNS, and firewalls. Diagnose ERR_CONNECTION_RESET ERR_CONNECTION_RESET means the connection opened, then was forcibly closed mid-transfer. Trace resets to filters, MTU, rate limits, or proxy auth — and fix each cause. Diagnose ERR_CONNECTION_TIMED_OUT ERR_CONNECTION_TIMED_OUT means the connection attempt got no reply at all. Learn the real causes — dead hosts, firewalls, bad proxy config — and fix it step by step. Diagnose ERR_EMPTY_RESPONSE ERR_EMPTY_RESPONSE means the server closed the connection without sending any data. Learn why sites silently drop flagged IPs and how to fix it. Diagnose ERR_SSL_PROTOCOL_ERROR ERR_SSL_PROTOCOL_ERROR means the TLS handshake failed. See the common causes and the proxy scheme mistake that triggers it, plus fixes for browsers and scripts. Diagnose ERR_CERT_AUTHORITY_INVALID ERR_CERT_AUTHORITY_INVALID means the certificate issuer isn't trusted. Find what is intercepting your TLS and fix the trust chain without disabling verification. Diagnose ERR_TOO_MANY_REDIRECTS ERR_TOO_MANY_REDIRECTS means a redirect loop. Trace the loop, clear stale cookies, and stop mid-chain proxy rotation from bouncing requests between locales. Diagnose ERR_NAME_NOT_RESOLVED ERR_NAME_NOT_RESOLVED means DNS lookup failed. Fix local DNS, flush caches, and learn who resolves hostnames when a proxy is in the path — you or the proxy. Diagnose SOCKS5 Connection Refused SOCKS5 connection refused has two distinct causes: the proxy port refused your TCP connection, or the target refused the proxy. How to tell them apart and fix both. Diagnose

Most of these errors trace back to the route. Fix the route.

Clean residential and ISP IPs with country targeting, sticky sessions and one credential pattern across every tool.

ProxyOmega ProxyOmega

90M+ ethically-sourced IPs across 200+ countries and 30,000+ cities. Residential, mobile, ISP and IPv6 proxies for scraping and AI agents.

GDPRCCPA
Product
Premium Unlimited Budget Unlimited Residential / ISP Mobile IPv6 Chrome Extension
Solutions
Web scraping AI agents Price monitoring SERP & SEO Integrations All use cases
Resources
Glossary Error codes Free tools Proxies by platform Locations
Company
About Blog Docs Reseller program Affiliate Contact Sign in
© 2026 ProxyOmega Ltd. All rights reserved.