Proxy Not Working? Find the Cause in Four Checks

Proxy failing to connect, rejecting your login, showing the wrong IP or refused by a site? Check four steps in order, with the real errors each produces.

TroubleshootingPublished Oct 25, 20266 min read

On this page

When a proxy is not working, the request is failing at one of four checkpoints: reaching the proxy, logging in to it, leaving from the right IP, or getting an answer from the website. Find the first one that fails and you have the cause. Start by testing the proxy on its own with one curl command: if that works, the problem is in your tool's settings or with the site, not the proxy.

Four checkpoints in order with the errors each produces: 1, reach the proxy: Couldn't connect to server, ERR_PROXY_CONNECTION_FAILED, Connection timed out; 2, log in: response 407, User was rejected by the SOCKS5 server, Connection reset; 3, leave from the right IP: your own IP, wrong country; 4, get an answer from the site: 403, 429, logged out mid-task
The first checkpoint that fails tells you where to look.

First, test the proxy on its own

Your scraper, browser profile or app adds its own settings on top of the proxy. Take it out of the picture with one request from the command line:

bash
curl -x http://HOST:PORT -U "USERNAME:PASSWORD" https://ipinfo.io/json
Run curl -x PROXY -U USER:PASS https://ipinfo.io/json. If curl fails before it gets an answer, the problem is checkpoint 1 or 2, the proxy settings. If curl shows the proxy IP and your tool does not, the problem is the tool's proxy settings. If both show the proxy IP and the site still refuses, look at checkpoint 4, request rate and session type
One curl request tells you whether to look at the proxy, the tool or the site.
  • curl fails: the cause is at checkpoint 1 or 2. The error message tells you which.
  • curl shows the proxy's IP and country, but your tool does not: the proxy works; check the tool's proxy settings.
  • Both show the proxy IP, but the site refuses: go to checkpoint 4.

The guide to using curl with a proxy explains the flags and how to read -v output.

Checkpoint 1: can you reach the proxy?

What you seeWhere
Failed to connect to … Couldn't connect to server (exit code 7)curl
Connection timed out after … milliseconds (exit code 28)curl
net::ERR_PROXY_CONNECTION_FAILEDChrome, Playwright, Puppeteer

These all mean the connection to the proxy never opened. Check, in this order:

  1. Host and port. Copy them again from the dashboard. A port from another IP or product is the most common slip.
  2. Your network. Office, school and hotel networks often block outgoing connections on non-standard ports. NanoIP's residential and mobile gateway uses port 1111, so if it times out at work but connects from a phone hotspot, the network is blocking it.
  3. Local VPNs and proxy tools. A VPN or a system-wide proxy app on your computer can catch the connection before it leaves. On our own test machine, such a tool answered for hosts that did not exist and turned clear errors into misleading ones. Turn it off while testing.

Checkpoint 2: does the proxy accept your login?

What you seeMeans
CONNECT tunnel failed, response 407Missing or wrong username or password on an HTTP proxy
User was rejected by the SOCKS5 server (exit code 97)Wrong username or password on a SOCKS5 proxy
Recv failure: Connection reset by peer / net::ERR_CONNECTION_RESETWrong protocol, such as http:// sent to a SOCKS5 port
Page loads until it times outIn Playwright, a wrong password often looks like this

Fixes:

  • Copy the username and password again, without spaces or line breaks. If you put them in a proxy URL, encode @, :, / and #. The 407 error guide covers every cause of a refused login.
  • Match the protocol to the port. Each NanoIP ISP proxy accepts HTTP and SOCKS5 with the same login; residential and mobile proxies use the HTTPS gateway https://gateway.nanoip.net:1111.
  • Check the tool can send a login. Chrome's --proxy-server flag has no place for credentials, and browsers do not support SOCKS5 with a password. Use HTTP(S) there.
  • Check the plan. An expired ISP plan or a used-up traffic package stops the proxy from accepting the connection; the dashboard shows days and traffic left.

Checkpoint 3: is the traffic leaving from the right IP?

The site sees your own IP

The proxy works, but the traffic is not going through it.

  • The tool ignores your setting. Many apps read only their own proxy setting, not your system's. curl ignores the macOS and Windows proxy settings, and reads http_proxy only in lowercase.
  • Only part of the traffic uses the proxy. HTTP proxies carry TCP only; WebRTC, calls and HTTP/3 use UDP and may go out directly. See what a UDP proxy is.
  • The site is on a no-proxy list. Check NO_PROXY, --noproxy or the tool's list of proxy exceptions.

The IP is in the wrong country

  • Residential and mobile: check the country of the route you generated in Dynamic Routes. A route with a random country can exit anywhere.
  • ISP: each IP has a fixed country; make sure the tool uses the IP you meant.
  • Different lookup services disagree. IP databases sometimes place the same IP in different cities or countries. Check it in two or three services before deciding it is wrong; the IP fraud score guide explains how to read them.

Checkpoint 4: does the website accept the request?

At this point the proxy is doing its job, and the answer comes from the site.

What you seeUsual causeWhat to change
429 Too Many RequestsToo many requests in a short timeSlow down, spread requests out over time, respect the site's limits
403 ForbiddenThe site refuses this kind of accessCheck the site's terms; some do not allow automated access at all
Logged out or asked to sign in again mid-taskThe IP changed during a logged-in sessionUse a sticky session or a static ISP IP for anything behind a login
Slow pagesLong distance between the proxy and the siteChoose an exit country close to the site's servers

The session row is the one most often mistaken for a proxy fault. On a rotating route, every request can leave from a different IP, which breaks sign-ins and carts. Use a sticky session for the length of the task, or a static IP for accounts used every day; rotating vs sticky sessions explains how to choose.

When to contact support

If curl with freshly copied credentials fails at checkpoint 1 or 2 from a network you know is open, contact support with:

  • the exact error message and the time it happened,
  • the product (residential, mobile or ISP) and the route or IP,
  • the command you ran.

That is enough to look the connection up. The getting started guide shows where to find your connection details.

Frequently asked questions

Why does the proxy work in curl but not in my browser?

The browser uses its own proxy settings, or the extension or profile you set it in. Check that the browser profile actually has the proxy, and that it uses HTTP(S) when a login is needed.

Why did a working proxy suddenly stop?

Usually the plan expired, the traffic ran out, or the credentials changed. If none of these, test from another network to rule out a block on your side.

Is a slow proxy a broken proxy?

Not necessarily. Measure where the time goes with curl's -w timings: a slow connection to the proxy points at the route to it, while a fast connection with a slow total points at the site or the exit location.

Written by NanoIP Team · Proxy infrastructure and customer support team

Related articles

Troubleshooting

How to Test a Proxy: Six Checks and a Script

Test a proxy before you rely on it: login, exit IP, location, owner, rotation and speed, with a tested Python script and a browser check for WebRTC.

5 min read

Need help with your setup?

Our support team can check your proxy configuration with you.