एरर समाधान · ब्राउज़र एरर

ERR_CONNECTION_REFUSED: Why Chrome Can't Connect and How to Fix It

Chrome shows ERR_CONNECTION_REFUSED when the server answers but rejects the connection. Fix it as a visitor, or find the closed port or stopped service.

Error messageERR_CONNECTION_REFUSED

लेखक: SiteDownCheck संपादकीय टीम · अपडेट: अक्टूबर 14, 2026 · 4 मिनट पढ़ने में

ERR_CONNECTION_REFUSED appears in Chrome, Edge and Brave as "This site can't be reached. example.com refused to connect." It means your browser reached an IP address and the machine at that address actively said no. Nothing is listening on that port, or a firewall is configured to reject (rather than silently drop) the connection.

This is different from a timeout. A refusal is an immediate answer, usually a TCP reset in reply to your first packet. That tells you the network path works and the host is alive, which narrows the search a lot. If you want the broader picture of refused, timed-out and reset connections, read the connection errors explained guide.

If you are a visitor

Work from cheapest to most disruptive.

  1. Check if it is down for everyone. Run the address through Down From Where. If other regions also fail, the site is the problem and you can only wait or contact the owner.
  2. Check the URL. A typo in the port (example.com:8080) or an https:// address for a site that only serves http:// can trigger a refusal.
  3. Turn off your VPN or proxy. A dead proxy or VPN exit can refuse connections. See ERR_PROXY_CONNECTION_FAILED.
  4. Disable security software temporarily. Some antivirus and firewall tools intercept HTTPS and reject connections. Re-enable it afterward.
  5. Flush your DNS cache. A stale record may point at an old server that no longer accepts connections. On Windows run ipconfig /flushdns; on macOS run sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder.
  6. Check your hosts file. An old line in /etc/hosts or C:\Windows\System32\drivers\etc\hosts can send a domain to a dead address.
  7. Try another network. Switch from Wi-Fi to mobile data. If the site loads, your network or ISP is blocking it.

If you are a developer seeing this for localhost, the dev server simply is not running on that port, or it is bound to a different interface or port than you typed.

If you own the site

Start by proving what refuses the connection, then work inward.

1. Confirm the port state from outside

curl -v --connect-timeout 5 https://example.com/ 2>&1 | head -n 12
nc -vz example.com 443

Connection refused confirms the diagnosis. A hang instead points to a timeout; see ERR_CONNECTION_TIMED_OUT. The पोर्ट चेकर does the same test from outside your network for ports 80 and 443.

2. Is the service listening?

On the server:

sudo ss -ltnp | grep -E ':(80|443)\s'
sudo systemctl status nginx apache2 --no-pager

If nothing listens on 80 or 443, start the web server and read its log for why it stopped. A failed config test is a common reason: sudo nginx -t or sudo apachectl configtest.

3. Bound to the wrong address

A service listening only on 127.0.0.1:3000 accepts local connections but refuses external ones. For a public service, bind to 0.0.0.0 or to the right interface, or put a reverse proxy in front. In Docker, remember the port must be published (-p 80:80) and the process inside must bind to 0.0.0.0, not localhost.

4. Firewall REJECT rules

A host firewall or cloud security group can reject traffic. Check:

sudo ufw status verbose
sudo iptables -S | grep -E 'REJECT|dport (80|443)'

Many cloud security groups silently drop rather than reject, which produces a timeout instead of this error. If you see a refusal, suspect a local firewall or a service issue first.

5. DNS points at the wrong machine

If you recently moved hosts, the domain may still resolve to an IP where nothing listens. Compare the answer from the DNS चेकर with the IP of your server. See how long DNS propagation takes.

6. CDN or load balancer origin

If a CDN reports it cannot connect to your origin, the origin is refusing the CDN's requests. On Cloudflare this appears as error 521. Allow the CDN's IP ranges and confirm the origin listens on the expected port.

7. Database and upstream services

An app that depends on a database or backend can fail the same way internally. Related: nginx connect() failed (111) और MySQL error 2002.

Verify the fix

  1. Run curl -I https://example.com/ and expect an HTTP status line, not Connection refused.
  2. Re-test the port with the पोर्ट चेकर.
  3. Run the वेबसाइट हेल्थ चेक for a full pass.
  4. Add an अपटाइम मॉनिटर so you hear about the next refusal before visitors do.

अगले कदम

सामान्य प्रश्न

What does "refused to connect" actually mean?

The destination machine replied that no program accepts connections on that port. It is an explicit rejection, not silence.

Is ERR_CONNECTION_REFUSED a problem with my computer?

Usually not. If other devices and networks fail too, the server is at fault. If only yours fails, check the proxy, VPN, hosts file and firewall.

Why does localhost refuse to connect?

Your local dev server is not running, crashed, or listens on a different port. Check the terminal where you started it.

Can a firewall cause this instead of a timeout?

Yes, when the rule rejects packets rather than dropping them. Dropping gives a timeout; rejecting gives an immediate refusal.

Get notified when this fix updates

Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.

यह पेज सामान्य जानकारी है, जिसे हमारी संपादकीय टीम ने लिखा है और दस्तावेज़ीकरण बदलने पर अपडेट किया जाता है। सर्वर और प्रदाता अलग-अलग होते हैं, इसलिए बदलाव पहले सुरक्षित तरीके से जाँचें। देखें: संपादकीय नीति और अस्वीकरण.