ERR_CONNECTION_REFUSED: Why It Happens and How to Fix It

Featured image for article 20350

ERR_CONNECTION_REFUSED appears in Chrome when the server at the destination IP address actively rejected the connection attempt by sending a TCP RST packet in response to Chrome’s SYN packet. Unlike a timeout, where the server never responds at all, a refused connection means the server received your connection request and explicitly declined it. This is the network equivalent of knocking on a door and having it opened just to be told to go away.

The distinction matters for troubleshooting. A refused connection almost always means one of three things: the server software is not running on that port, a firewall is actively blocking the connection rather than silently dropping it, or your local network configuration is routing the request to the wrong IP address. All three are diagnosable and fixable.

What Causes ERR_CONNECTION_REFUSED

The most common cause is that the web server software is not running. If Apache, Nginx, or Node.js has crashed or been stopped on the remote server, the operating system rejects connection attempts on port 80 or 443 with a TCP RST because no process is listening on those ports. The server itself is online and reachable, but the web application is not running. This is why the error can appear suddenly on sites that were working fine previously.

Firewall rules on your local machine or on the remote server are the second major cause. Windows Defender Firewall, third-party security software, or corporate network firewalls configured to send active RST responses (rather than silently dropping packets) produce ERR_CONNECTION_REFUSED. Your own firewall might block Chrome’s outbound connection, or the server’s firewall might block your IP address specifically.

Proxy misconfiguration is a frequently overlooked cause. If Chrome is configured to route traffic through a proxy server that is offline or unreachable, Chrome attempts to connect to the proxy and receives an ERR_CONNECTION_REFUSED from the proxy’s IP address, not the target website. The error message shows the target URL, making it appear like the target site is refusing the connection when the actual refusal is from the proxy.

Clear Browser Cache and Cookies

Corrupted cookies or malformed cached request headers can cause servers to refuse connections from your browser. Press Ctrl+Shift+Delete in Chrome, select All time, check Cached images and files and Cookies and other site data, then click Clear data. Restart Chrome completely after clearing. Corrupted authentication cookies in particular can send headers that trigger server-side connection refusal logic.

After clearing, test the site in an incognito window as well. If the site loads in incognito (which starts with no cache or cookies) but not in your regular Chrome window, the problem is definitively local browser state.

Check if the Website Is Down

Visit downforeveryoneorjustme.com and enter the URL. If the site is reported as down for all users, the web server is not running and ERR_CONNECTION_REFUSED is the expected response. Wait for the site operator to restore service. If the site reports as up for others but you still receive ERR_CONNECTION_REFUSED, the problem is local to your network or IP address.

Also try the site from your mobile phone on cellular data. If it loads on cellular but not on your home WiFi, your network’s IP address may be blocked by the server, or your ISP is blocking the connection. Using a VPN on your home network gives you a different IP and confirms whether IP-based blocking is the cause.

Disable Firewall Temporarily

Windows Defender Firewall or a third-party security suite may block Chrome’s outbound connections to specific IP addresses or ports. Open Windows Security, go to Firewall and network protection, click your active network profile, and toggle Microsoft Defender Firewall to Off for a 60-second test. Visit the affected site. If it loads, your firewall has a rule blocking the connection.

After re-enabling the firewall, add the affected site’s domain or Chrome’s executable to the firewall’s allowed applications list. To add a rule in Windows Defender Firewall, go to Advanced Settings, Outbound Rules, and create a new rule allowing Chrome (chrome.exe) to make outbound connections. Third-party firewalls like Comodo, ZoneAlarm, or GlassWire have similar exclusion list features.

Flush DNS and Reset Network Configuration

Outdated DNS entries can route your connection to an IP address where no server listens, producing ERR_CONNECTION_REFUSED from whatever service responds at that address (or no response at all). Open Command Prompt as administrator and run these commands in sequence: ipconfig /flushdns to clear cached DNS entries, netsh winsock reset to restore the Winsock catalog, then netsh int ip reset to restore the TCP/IP stack. Restart your computer after all three commands complete.

Also clear Chrome’s internal DNS cache at chrome://net-internals/#dns and click Clear host cache. Chrome caches DNS independently from Windows, and stale Chrome DNS entries can persist even after a system DNS flush.

Check and Disable Proxy Settings

A misconfigured proxy is one of the most common causes of ERR_CONNECTION_REFUSED that users overlook. Chrome follows system proxy settings by default. If a VPN, security software, or network configuration tool has set a proxy address that is no longer active, Chrome attempts to connect to that proxy for every request and receives a refused connection. Go to Settings, then Network and Internet, then Proxy. Ensure Use a proxy server is set to Off unless you intentionally use one.

You can also check Chrome’s proxy settings directly. Go to chrome://settings/system and click Open your computer’s proxy settings. The system dialog confirms what proxy Chrome is using. Clearing the proxy address and port fields and saving resolves proxy-related ERR_CONNECTION_REFUSED errors immediately.

Test on a Different Network

Create a mobile hotspot from your phone and connect your computer to it. Test the affected site. If it loads, your home network’s IP address is being blocked by the server or your ISP is interfering with the connection. If it fails on the mobile hotspot too, the problem is either the site itself being down or a local configuration issue on your computer.

For local computer issues after testing on multiple networks, try resetting Chrome entirely. Go to chrome://settings/reset and click Restore settings to their original defaults. This clears all Chrome settings, extensions, and configuration without deleting your bookmarks or passwords.

Advanced Fix: Check Port Availability

For developers seeing ERR_CONNECTION_REFUSED on localhost (127.0.0.1) or local development servers, the server process is likely not running or listening on the wrong port. Open Command Prompt and run netstat -an | findstr :PORT_NUMBER (replace PORT_NUMBER with your server’s port). If no entry appears with LISTENING status, your local server is not running. Start it and retry.

Frequently Asked Questions

Why does ERR_CONNECTION_REFUSED appear on localhost?

ERR_CONNECTION_REFUSED on localhost means no server process is listening on the port you specified. Your local development server (Node.js, Apache, Python’s development server, etc.) either crashed, did not start, or is running on a different port than the one in your URL. Check your terminal for server startup errors, confirm the server is running, and verify you are using the correct port number in the URL.

Can ERR_CONNECTION_REFUSED be caused by my antivirus?

Yes. Antivirus software with network protection features can block outbound connections to specific domains or IP addresses and return a refused connection rather than silently dropping the packet. This produces ERR_CONNECTION_REFUSED even when the actual server is healthy. Disable your antivirus’s network protection temporarily and test. If the page loads, add the domain to your antivirus exclusion list.

How do I know if my IP is blocked by a website?

Test the site from a different IP address: use a VPN, connect your laptop to your phone’s mobile hotspot, or try a web proxy service like hide.me or ProxySite.com. If the site loads through any of these but not on your direct connection, your IP address is blocked. Contact the website’s support team to request removal from their block list. Explain your situation to avoid being re-blocked.

What is the difference between ERR_CONNECTION_REFUSED and ERR_CONNECTION_TIMED_OUT?

ERR_CONNECTION_REFUSED means the server responded to your connection attempt with an explicit rejection (TCP RST packet). ERR_TIMED_OUT means the server never responded at all within Chrome’s timeout window. Refused connections are faster to diagnose because they get an immediate response. Timed out connections require waiting for Chrome’s full timeout period, usually 30 seconds, before the error appears.

For connection reset issues that occur after the connection is established, see the ERR_CONNECTION_RESET guide. If the connection is being closed gracefully before the response is complete, the ERR_CONNECTION_CLOSED article covers that scenario. For sites that load slowly rather than refusing connection, the slow DNS lookup guide addresses the DNS resolution stage of the connection process.

Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post
Motorized smart blinds on window with no hub required

Motorized Smart Blinds That Work Without a Hub: 4 Standalone Options Compared

Next Post
Handheld gaming device comparing Steam Deck ROG Ally and Legion Go

Steam Deck OLED vs ROG Ally X vs Legion Go: Battery Life, FPS, and Thermals Measured

Related Posts