Proxy and request errors
A 407 comes from the proxy itself. A 403, 405 or 406 comes from the site and is about the request you sent or the access you have.
- 407Proxy Authentication RequiredThe proxy wants valid credentials before it forwards anything. Almost always a username, password, host or port problem.Read the guide
- 403ForbiddenThe site understood the request and refuses to serve it. Includes Cloudflare block and challenge pages.Read the guide
- 405Method Not AllowedThe URL exists but doesn't accept that method (GET, POST, PUT and so on). The Allow header lists what it does accept.Read the guide
- 406Not AcceptableThe server has no response format that matches your Accept headers. Loosen or correct them.Read the guide
Rate limits
Too many requests in too short a time. Some servers signal the same thing with a 503, and Cloudflare sites show error 1015.
Server and gateway errors
Something on the server side failed or was too slow. A 502 or 504 can come from your proxy or from the site's own gateway, and the guides show how to tell.
- 502Bad GatewayA gateway got a broken response, or none it could use, from the server behind it. The site or the proxy path.Read the guide
- 503Service UnavailableThe server is overloaded or down for maintenance. Usually temporary: retry later, with backoff.Read the guide
- 504Gateway TimeoutA gateway waited too long for the server behind it. Retry later; site owners should find the slow step.Read the guide
Cloudflare errors
Error numbers on pages Cloudflare serves for the sites behind it. A Cloudflare block page with a 403 status is covered in the 403 guide.
- 1015Cloudflare: Rate limitedA Cloudflare rate limiting rule set by the site owner blocked you for a while. Stop, wait, then slow down.Read the guide
- 520Cloudflare: Unknown error from the origin serverCloudflare got an empty or invalid response from the site's own server. A problem on the site's side.Read the guide
Did the proxy or the site send the error?
Most errors you see through a proxy come from the site, not the proxy. The quickest test is where the error arrived. For an https:// URL, your client first asks the proxy to open a tunnel with a CONNECT request. An error in reply to CONNECT comes from the proxy, and nothing reached the site. Once the tunnel is open, the proxy only relays encrypted bytes, so any status inside it (a 403, 429 or 503, say) comes from the site or something in front of it, such as its CDN.
Two more checks settle most cases: the response headers (a Server or CF-Ray header names who answered) and the same request sent without the proxy. If the site answers the same way directly, the proxy isn't the cause.
| Code | Name | Usually sent by |
|---|---|---|
| 407 | 407 Proxy Authentication Required | The proxy, always |
| 403 | 403 Forbidden | The site, or a firewall or CDN in front of it |
| 405 | 405 Method Not Allowed | The site or API |
| 406 | 406 Not Acceptable | The site or API |
| 429 | 429 Too Many Requests | The site or API you called |
| 502 | 502 Bad Gateway | A gateway: the site's CDN or reverse proxy, or your proxy |
| 503 | 503 Service Unavailable | The site, its load balancer or CDN; sometimes a proxy |
| 504 | 504 Gateway Timeout | A gateway: the site's CDN or reverse proxy, or your proxy |
| 1015 | Cloudflare error 1015 | Cloudflare, on the site owner's rules |
| 520 | Cloudflare error 520 | Cloudflare, about the site's origin server |
Error codes: frequently asked questions
Which HTTP errors come from the proxy?
407 Proxy Authentication Required always does, and so does any error sent in reply to the CONNECT request before an HTTPS tunnel opens. 502 and 504 can come from a proxy or from the site's own gateway. A 403, 405, 406 or 429 inside an HTTPS tunnel comes from the site.
Which errors should I retry?
Retry 429, 502, 503 and 504 with backoff, honouring Retry-After when the server sends it. Don't retry a 407 until the credentials are fixed, and don't keep retrying a 403, 405 or 406: the same request gets the same answer.
What are Cloudflare error codes like 1015 and 520?
They are Cloudflare's own error numbers, shown on pages Cloudflare serves for the sites behind it. 1015 is a rate limit the site owner set; 520 means the site's own server sent Cloudflare an empty or invalid response.
Can I test BuyProxy before buying?
There is no free trial period, but you can ask support by chat, Discord or email for 100 MB of free Premium Residential bandwidth to test against your own targets.