Skip to content
Fixes & Errors

Fix ERR_CONNECTION_REFUSED in Chrome

Fix ERR_CONNECTION_REFUSED in Chrome

Connection refused is one of the most definitive network messages a browser can receive. Unlike a timeout — where Chrome sends a request into the void and waits — ERR_CONNECTION_REFUSED means something at the destination actively sent back a rejection packet. The connection handshake started and was explicitly denied. What makes this error genuinely tricky is that the “something” doing the refusing isn’t always the website’s server. It could be a firewall on your machine. It could be a proxy configured in Windows that’s trying and failing to connect. It could be Chrome’s cache sending it to an old IP address that now belongs to a different server. Narrowing down where the refusal is coming from is the entire job. For the bigger picture, our Google Chrome Errors pulls everything together.

The 30-Second Test That Tells You Where to Start

Open the same site in Firefox or Edge. That’s it. If other browsers also refuse the connection, the problem is at the network level — the site is down, a firewall is blocking it, or a proxy is failing. If only Chrome refuses while other browsers load the site, the problem is Chrome-specific: cached bad data, a broken extension, or a socket stuck in a bad state.

Also: try the site on your phone with Wi-Fi turned off. If mobile data also gets a connection refused, the server itself is the problem and there’s nothing to fix on your end — the site is down, potentially for everyone. Check a site status service to confirm, then wait for the site to recover.

ERR_CONNECTION_REFUSED Fix 1: Clear Chrome Cache and Flush Sockets

If only Chrome refuses while other browsers work, start here. Chrome maintains a pool of pre-established TCP connections (sockets) to speed up repeated visits. When one of these sockets is stuck in a broken state — half-open, pointing to a stale IP, or left over from a previous failed connection — Chrome tries to reuse it and gets refused because the server doesn’t recognise the resumed connection. Flushing the sockets forces Chrome to establish fresh connections for everything.

  1. Go to chrome://net-internals/#sockets → click Flush socket pools
  2. Go to chrome://net-internals/#dns → click Clear host cache
  3. Press Ctrl + Shift + Delete → All time → Cached images and files → Clear data
  4. Reload the failing page

If it still refuses, test in Incognito mode (Ctrl + Shift + N). Incognito disables all extensions. If the site loads in Incognito but not in a normal window, an extension is the culprit — a proxy extension, ad blocker, or privacy tool that’s modifying or blocking the connection. Disable extensions one by one at chrome://extensions to find which one.

ERR_CONNECTION_REFUSED Fix 2: Check the Hosts File

This is the fix people skip because it sounds obscure, but it’s one of the more common causes of ERR_CONNECTION_REFUSED on a specific site while everything else works. The Windows hosts file can map domain names to 127.0.0.1 — which points Chrome at your own machine’s localhost rather than the real server. Your machine immediately refuses the connection because nothing is running a web server on port 80 or 443 locally.

Ad blockers, parental control tools, and content-filtering software use the hosts file extensively. Malware sometimes writes to it too. After an application update or uninstall, stale entries sometimes persist.

  1. Open Notepad as administrator
  2. File → Open → navigate to C:WindowsSystem32driversetc
  3. Change file type to All Files → open the file named hosts
  4. Look for any line containing the domain showing ERR_CONNECTION_REFUSED
  5. Delete any entries pointing it to 127.0.0.1 or 0.0.0.0
  6. File → Save, then reload in Chrome

ERR_CONNECTION_REFUSED Fix 3: Disable Proxy Settings

This is the most common cause I’ve seen on work machines that get taken home. A corporate proxy server is configured in Windows while the machine is on the company network — then the employee goes home, the proxy server is unreachable, and Chrome’s every connection attempt gets refused because the proxy is the first stop and it’s not there.

The symptom is usually immediate ERR_CONNECTION_REFUSED on every site simultaneously, starting the moment the machine is used away from the office or after disconnecting from a corporate VPN.

  • Settings → Network and internet → Proxy
  • If Use a proxy server is On, toggle it Off
  • Also check Use setup script — if a proxy auto-config URL is set, remove it
  • Restart Chrome after making changes

If a proxy is genuinely required for your network (you’re on a corporate network that routes traffic through one), the proxy configuration itself may have changed. Contact IT to get the correct proxy address and port rather than disabling it entirely.

ERR_CONNECTION_REFUSED Fix 4: Check Firewall and Antivirus

A firewall that actively blocks connections — rather than silently dropping packets — sends a connection refused signal, which is exactly what Chrome reports as ERR_CONNECTION_REFUSED. The distinction matters for diagnosis: if it were silent dropping, Chrome would show ERR_TIMED_OUT. Connection refused means the firewall is actively rejecting, which means a specific rule is doing the blocking.

Temporarily disable Windows Firewall to test: Settings → Windows Security → Firewall and network protection → click your active network → toggle off. Test the site immediately. If it loads, a firewall rule is the cause. Re-enable the firewall right away — this is just a diagnostic step, not a permanent fix.

For antivirus: look for Web Shield, URL Filtering, or Web Protection settings and disable them temporarily. Some antivirus products implement domain blocking by refusing connections at the network level rather than displaying a block page, which produces ERR_CONNECTION_REFUSED rather than the expected “site blocked” message. If the site loads after disabling antivirus web protection, you’ll need to either add the site to the antivirus whitelist or investigate whether the antivirus’s blocking of that domain is intentional.

ERR_CONNECTION_REFUSED Fix 5: Reset the Network Stack

When ERR_CONNECTION_REFUSED affects multiple sites and multiple browsers simultaneously, and the proxy settings are clean, the Windows network stack has accumulated corruption that’s causing connections to be refused at the system level before they reach the destination. This is less common than the other causes but happens, particularly after failed VPN installations, incompletely removed network management tools, or certain Windows Update sequences.

  1. Open Command Prompt as administrator
  2. Run: netsh winsock reset
  3. Run: netsh int ip reset
  4. Run: ipconfig /flushdns
  5. Restart the PC

The Winsock reset requires a restart to complete. Restarting Chrome without restarting Windows won’t be enough.

When the Site Itself Is the Problem

If ERR_CONNECTION_REFUSED appears on one specific site and mobile data testing also refuses, the server is genuinely refusing connections. Possible reasons: the server is down or restarting, the site’s web service has crashed (the server hardware is up but the web application isn’t running), the server is configured to block connections from certain geographic regions or ISPs, or the site has been suspended by its host for non-payment or policy violations. In these cases there’s nothing to fix on your end — the site owner needs to correct the server configuration. Checking a site status service confirms whether others are experiencing the same issue.

Port blocking by an ISP is an edge case worth mentioning for completeness. Some ISPs block outbound traffic on port 80 or 443 (standard web ports) in specific plans or geographic areas, or for accounts flagged for unusual activity. This produces ERR_CONNECTION_REFUSED across all browsers and all sites, but only on those specific ports. Testing with a VPN (which encrypts and re-routes traffic, bypassing the ISP port block) confirms whether this is the cause if everything else has failed.

Situation Most likely cause Fix first
Only Chrome refuses Chrome cache or extension Fix 1 — flush sockets; test Incognito
All browsers, all sites Proxy configured or Winsock issue Fix 3 (proxy); Fix 5 (Winsock reset)
Specific site, other browsers fine Hosts file blocking Fix 2 — check hosts file
Started after leaving office network Corporate proxy unreachable Fix 3 — disable proxy
All browsers, mobile data also refuses Server is down Check site status; wait

Our guide on ERR_CONNECTION_RESET covers the related error where connections are established and then cut — different from being refused upfront, but sharing several causes. For the broader “This site can’t be reached” error that wraps ERR_CONNECTION_REFUSED alongside other codes, our dedicated guide covers the full diagnostic path. More information on enterprise firewall configurations and port blocking scenarios that cause ERR_CONNECTION_REFUSED is available on the Google Chrome support pages.

Chrome’s predictive pre-rendering can contribute to persistent ERR_CONNECTION_REFUSED in a way that’s easy to miss. Chrome sometimes pre-establishes connections to sites it predicts you’ll navigate to next, based on your browsing history and the links on pages you’re viewing. If a pre-rendered connection gets stuck in a refused state, Chrome may cache that refused state and serve it immediately when you actually navigate to the site — before attempting a fresh connection. Flushing Chrome’s socket pool (chrome://net-internals/#sockets → Flush socket pools) clears these pre-rendered connections along with regular cached sockets and is always worth doing before concluding that Fix 1 didn’t help.

Developer environments and localhost applications are a specific scenario where ERR_CONNECTION_REFUSED appears constantly by design. If you’re a developer running a local web server (a React dev server, a Flask app, a Docker container), Chrome accessing localhost:3000 or similar will return ERR_CONNECTION_REFUSED whenever the server isn’t running. The “fix” is starting the local server rather than anything with Chrome or network settings. Check whether the application that should be serving the port is actually running — a crashed Node process, a stopped Docker container, or a Python script that exited early are the usual causes. Running netstat -an | findstr LISTENING in Command Prompt shows all ports currently accepting connections, which quickly confirms whether the local server is up or not.

For Chrome on managed enterprise devices: group policy settings can configure Chrome to use a specific proxy or connection method that may produce ERR_CONNECTION_REFUSED in certain network conditions. If you’re on a domain-joined machine and ERR_CONNECTION_REFUSED appears on specific external sites at work but those sites load fine at home, a group policy is likely the cause. Check Chrome’s policy settings by going to chrome://policy — any proxy or network-related policies configured by IT will be listed there. This isn’t something to change yourself, but knowing the policy is configured tells you that IT is the right escalation path rather than continuing to troubleshoot on the device itself.

IPv6 connectivity issues produce ERR_CONNECTION_REFUSED less commonly than they produce ERR_NAME_NOT_RESOLVED or ERR_TIMED_OUT, but it does happen on networks with broken IPv6 configurations. Chrome attempts IPv6 connections preferentially when a site has both IPv4 and IPv6 addresses. If the IPv6 path is refused (by a firewall rule, a misconfigured router, or an ISP that provides IPv6 addresses but doesn’t properly route them) while the IPv4 path would work fine, you’ll see ERR_CONNECTION_REFUSED specifically on dual-stack sites. Temporarily disabling IPv6 on your network adapter (Network Connections → right-click adapter → Properties → uncheck Internet Protocol Version 6) confirms this theory if disabling it makes the ERR_CONNECTION_REFUSED stop. The proper fix is addressing the IPv6 routing issue on the router or with the ISP, but disabling IPv6 on the adapter is a workable workaround if the underlying IPv6 issues can’t be resolved.

Rate limiting and DDoS protection at the server level occasionally produces ERR_CONNECTION_REFUSED rather than a more descriptive HTTP error code. When Cloudflare, Fastly, or another CDN/DDoS protection service decides that an IP address (yours, or your ISP’s shared IP pool) is sending too many requests, it may refuse new connections entirely rather than serving a 429 or 503 response. If ERR_CONNECTION_REFUSED appears on a specific site but everything else is fine, and testing on mobile data (different IP) loads the site without issue, your home IP address may be temporarily blocked. These blocks typically clear within 15–60 minutes as the rate-limiting window expires. Using a VPN as a temporary workaround gives you a different IP address, though this should be a short-term measure rather than a permanent fix.

Antivirus products that block connections to sites they’ve flagged as potentially malicious do so in different ways depending on the vendor. Some show a block page. Others — particularly products that operate at the network driver level — simply refuse the connection, producing ERR_CONNECTION_REFUSED in Chrome with no explanation. If ERR_CONNECTION_REFUSED appears on a site you know is legitimate and the hosts file is clean, a quick check of your antivirus’s activity log or quarantine list will show whether the site has been flagged and blocked at the connection level. Most antivirus products allow adding specific domains to a whitelist or trusted list to prevent future blocking, and some allow reporting false positives to the vendor’s threat intelligence team for correction. Our guide on How to Fix ERR_NETWORK_CHANGED in Chrome covers an adjacent issue.

Nikolas Lamprou

Nikolas Lamprou (MSc; GCFR, SC-200, Security+) has been working with computers professionally since 2009 — starting with web development and e-commerce, and moving into cybersecurity over the years. Based in Greece, he brings over 15 years of real-world IT experience to SolveTechToday, where he writes about Windows fixes, software reviews, security tools, and AI applications. His goal is straightforward: cut through the noise and give readers clear, honest guidance on the tech decisions that matter.

Stay Ahead

Fix your next problem before it starts

Get the week's best Windows fixes, software picks, and security guides delivered straight to your inbox. No noise, just solutions.

Press ESC to close · Try "Windows 11" or "Chrome"