Advertisement
Digital Intelligence Hub
Advertisement

Checking the Proxy and the Firewall: What Chrome Is Really Telling You

Expert Analyst Christopher Vance
Publish Date Sep 25, 2026
Advertisement
Checking the Proxy and the Firewall What Chrome Is Really Telling You

Checking the proxy and the firewall is not something Chrome did. It is a suggestion Chrome printed, and the sentence on your screen is a link whose only job is to open a box further down the same page.

That matters because most people reading it have no proxy at all, and Chrome never claimed they did. It prints that line for six specific error codes, regardless of what is configured on your machine, and then every guide on the internet treats it as a diagnosis.

So: where the sentence comes from, which errors produce it, what clicking it actually does, how to check a proxy and a firewall properly if you still want to, and the thing that tells you what really happened.

Advertisement
Christopher Vance, Web Infrastructure Specialist, explaining what checking the proxy and the firewall means on a Chrome error page, at TrustMyIP.com
Author: Christopher Vance Web Infrastructure Specialist
I spend my time on both ends of a connection, and the thing that strikes me about this message is how little it knows. It is attached to the error code that came back, not to anything about your computer. Chrome has not looked at your proxy settings. It has not asked your firewall a question. It is offering a suggestion from a list.
Which is worth saying because on the code people arrive with most often, a plain refusal, the likeliest explanation is that the far end declined you and there is nothing on your side to fix.

Quick Answer: Checking the Proxy and the Firewall

It is one item in Chrome's "Try:" list, shown for six error codes, and clicking it only scrolls you down and expands the details box. Read the ERR_ code underneath instead, because that names what failed. And if you want a second opinion on whether anything is in your path, our find out from the outside whether anything is intercepting you check gives one in seconds.

What "Checking the Proxy and the Firewall" Actually Is

When you see checking the proxy and the firewall chrome has not run a test and reported a result. You are looking at one line of a bulleted list that begins with the word "Try:", sitting under a heading that says the site cannot be reached.

The sentence is defined in Chromium's own string file, components/error_page_strings.grdp, and reading the definition tells you everything. The message is wrapped in an anchor tag:

Chromium: the string, as defined
<a href="#buttons" onclick="toggleHelpBox()">
  Checking the proxy and the firewall
</a>

# href points at an anchor on the same page
# onclick expands the details box. That is all it does.

Its href is #buttons, a position on the page you are already on. Its onclick calls toggleHelpBox(). So the link scrolls you down and unfolds a panel. It contacts nothing, reads no setting, and returns no verdict. The word "checking" is an instruction to you, not a description of something Chrome did.

Advertisement

This is a browser error rather than a server response, which puts it in a different category from most things people call a proxy problem. If you are not sure which category you are in, our guide to the three layers a browser error can be coming from separates them, and this message belongs squarely in the first.

The Six Errors That Print It, and the One That Never Does

Chrome decides which suggestions to show from the error code, and nothing else. Each network error in components/error_page/common/localized_error.cc carries a set of suggestion flags, and this particular sentence appears when an error carries both the proxy flag and the firewall flag:

Chromium: the selection branch
} else if (IsSuggested(suggestions, SUGGEST_PROXY_CONFIG) &&
           IsSuggested(suggestions, SUGGEST_FIREWALL_CONFIG)) {
  suggestions_summary_list.Append(SingleEntryDictionary(
      "summary", IDS_ERRORPAGES_SUGGESTION_CHECK_PROXY_FIREWALL_SUMMARY));
}

Note the else. Three branches run before this one: two DNS variants, which take over if the error carries a DNS or Secure DNS flag and give you the longer wording, and one for firewall-plus-antivirus. So the short version you are reading is what is left after those three have taken their cases.

Advertisement
Error code What actually happened Diagnostics link offered? (Windows, ChromeOS)
ERR_CONNECTION_REFUSED The connection attempt was refused. Usually a host is there with nothing listening on that port, though a local rule that rejects rather than drops can do it too No. One of only two codes here that do not
ERR_CONNECTION_RESET Something sent a TCP reset. It can arrive at any stage, including during the TLS handshake, so it does not prove a conversation was under way Yes
ERR_CONNECTION_CLOSED A connection was closed, which Chromium ties to a TCP FIN. The other end hung up rather than answering Yes
ERR_CONNECTION_TIMED_OUT A connection attempt timed out. Nothing answered within the time allowed, which is silence rather than a refusal Yes
ERR_TIMED_OUT Chromium's catch-all: "An operation timed out." It can fire anywhere in the stack, not only at the connect step Yes
ERR_TLS13_DOWNGRADE_DETECTED TLS 1.3 was offered, a lower version was negotiated, and the server signalled it supported 1.3. Section 4 explains why this one really can be a proxy No, like the refusal above

Those six are the whole list. A code you will often see blamed for this message is ERR_NAME_NOT_RESOLVED, and it does not produce it: its flags include the DNS one, so it takes the earlier branch and gets the longer sentence. If a guide tells you this message means a name lookup failed, it has not read the table.

One caveat on that last column, and it is a large one. Chromium only builds the diagnostics dialog for Windows and ChromeOS. Every other platform compiles a stub whose answer is hard-coded to false, and the suggestion is then stripped before the page renders. So on macOS and Linux the last column is No for every row, whatever the flags say.

And on ERR_CONNECTION_REFUSED, the code people most often arrive with, Chrome offers the proxy and firewall line but not the diagnostics one even on Windows, because that flag is simply absent from its entry. For background on what sits between you and a site in the first place, our explainer on what an intermediary is allowed to do to your traffic covers the shape of it.

One Item in That List Does Run Something. This Is Not It.

On Windows, two suggestions sit next to each other in that list and only one of them can do anything. Both are defined in the same Chromium file.

The proxy and firewall line calls toggleHelpBox(), which flips a flag and redraws the panel. The diagnostics line is defined as <a href="javascript:diagnoseErrors()" id="diagnose-link">Running Windows Network Diagnostics</a>, and that one reaches something real: the page function hands off to the browser process, which on Windows calls into the Network Diagnostics Framework and runs it against the URL that failed.

One honest limit on that, and it says something useful: Chrome skips it in Incognito and guest profiles, because the Windows tool logs the URL it was run with. Add the platform gap the table above already noted, and the position is this. One suggestion in that list can do work, on some platforms, in some profiles. The other unfolds a panel everywhere.

So if you want something that genuinely inspects your connection, the answer is neither of those. It is Chrome's own network log. Chromium documents it for exactly this purpose: go to chrome://net-export/, press Start Logging To Disk, reproduce the failure in another tab, then press Stop Logging. What you get is, in Chromium's words, "a log file of the browser's network-level events and state."

That file contains the proxy Chrome resolved for the request, the connection attempts it made, and the point at which each one died.

One caveat worth reading before you share one. The default capture strips private information, and Chromium's own instructions are to attach it to a bug report. It is the optional Include raw bytes setting that changes the calculus: captures at that level, in Chromium's words, "may include personal information and should generally be emailed rather than posted on public forums or public bugs." So leave raw bytes off unless somebody has asked for them.

Read the Code, Not the Suggestion: Refused, Reset, or Timed Out

Refused means a machine was reachable and actively declined. Something answered. On the public internet that is usually the destination itself, or whatever sits in front of it, deciding it does not want this connection. A desktop firewall blocking an outbound request does not normally produce a refusal from the far end.

Reset means something sent an abrupt TCP reset. Of the three this is the one where equipment on the path actively intervened rather than merely staying silent, and "on the path" usually means the network's gear rather than software on your laptop.

Timed out means nothing came back. Silence is the least informative outcome of the three, and the widest range of causes fits it. It is also the outcome that a block which silently drops packets produces, since dropping leaves nothing to report. So both reset and timed out can be filtering; the difference is whether the filter answered or said nothing.

The two remaining codes sit either side of those three. Closed means the other end hung up without answering properly, which behaves like a reset for diagnostic purposes. And ERR_TLS13_DOWNGRADE_DETECTED is the one code here where suspecting a proxy is the correct first move rather than the lazy one, because Chromium says so itself. Its source comment notes the downgrade is part of a TLS 1.3 security check, but that it "may also indicate the user is behind a buggy TLS-terminating proxy which implemented TLS 1.2 incorrectly." On that code, and only that code, the suggestion on your screen is finally good advice.

If you are getting a refusal and only for certain sites, there is a possibility worth considering before you touch any settings: the site may be refusing your address in particular. We cover that pattern in the site deciding it does not want your address, and the tell is that the same page loads on a phone using mobile data.

Three quick questions, then one real one, before any settings

1 Does another site work?

If everything else loads, a system-wide proxy or a built-in firewall is ruled out by demonstration, and with it most of the advice you will read. One thing survives this test: a third-party outbound filter, which blocks per application and per destination. Section 6 covers it.

2 Does another browser fail the same way?

Same failure everywhere points below the browser, at the system or the network. Only in Chrome points at Chrome, at an extension, or at a setting Chrome alone is reading.

3 Does it work on another network?

A phone on mobile data is the fastest control you have. Works there and fails on your desk means the problem is your network, not the site and not your machine.

4 What does the log say?

Only now open chrome://net-export/ and capture the failure. Three answers plus a log beats any checklist, because each one eliminates something instead of changing something.

The next two sections are for the case where those answers point inward, at your machine or your network. Section 7 is for the case where they point outward, which in practice is the commoner result.

How to Check Proxy and Firewall on Chrome: The Proxy Half

People search how to check proxy and firewall on chrome, or how to check proxy and firewall settings google chrome, as though Chrome held both. It holds neither. On Windows and macOS, Chrome reads the operating system's proxy configuration, so the thing you are checking is the system, not the browser.

And the phrase proxy and firewall settings chrome describes a screen that does not exist: Chrome has no page with a proxy on one side and a firewall on the other.

Which is why advice of the form "open Chrome's advanced settings" ages so badly. And the system setting is not the only thing Chrome obeys: a managed policy, an extension or a command-line flag can each override it, so checking one screen can mislead you. We took the whole ranking apart in the screen Chrome actually reads a proxy from.

Is a proxy configured at all?
# Windows, the machine-level store. Microsoft deprecated "show proxy"
# in favor of this form. On older builds, fall back to "show proxy".
netsh winhttp show advproxy

# macOS and Linux, the variables command-line tools read
env | grep -i proxy

# On macOS and Windows, Chrome's own setting is the system one:
# the Proxies pane in network settings, not a Chrome page.

A caution about that first command, because it is the one most guides reach for and most of them misread it. netsh winhttp reports the machine-level store. That is not the store Chrome reads, and an empty result there does not mean no proxy is configured for your browser. Windows keeps more than one, and we mapped which of the three Windows stores your app is really reading in its own guide. Run it anyway, because a stale entry there is exactly what breaks background updaters while browsing looks fine.

If you want an answer that does not depend on reading the right store, ask from outside instead. Our check that reports whether your traffic arrives through an intermediary sees what your connection actually presents, which settles in seconds what a screenshot of a settings page cannot.

Proxy and Firewall Settings: The Firewall Half, and Why It Is Rarely Guilty

Advice to check proxy and firewall chrome settings almost always treats the two as one blob, and one ranked page gives literally the same four clicks for both. They are separate systems with separate defaults, and the defaults are the reason to be skeptical.

Here is the fact that should change how you read this whole message. On Windows, macOS and Ubuntu, the firewall that came with the system does not block outgoing traffic. Microsoft documents the Windows default in the reference for the setting itself: the Allow value "allows all outbound network traffic, whether or not it matches an outbound rule", and "the default setting when managing a computer is Allow". Inbound, for contrast, defaults to Block.

On macOS there is no outbound policy to check at all: Apple describes its firewall as protecting a Mac "from unwanted contact initiated by other computers", and neither that page nor its platform security guide mentions outgoing connections anywhere. On Ubuntu the answer is stronger still, because the ufw manual says "on installation, ufw is disabled with a default incoming policy of deny, a default forward policy of deny, and a default outgoing policy of allow". Disabled. ufw status verbose prints Status: inactive, so the policy is not even in effect. Fedora and RHEL use firewalld, whose defaults I have not checked, so take this as covering those three systems and no others.

A browser fetching a page is outgoing traffic. So unless somebody added a blocking rule deliberately, your built-in firewall is the least likely explanation for this error, and it is the first thing nearly every guide tells you to disable.

There is a real exception, and it deserves to be checked first rather than last. Third-party outbound filters do the opposite of the built-ins by design: tools like Little Snitch or GlassWire, and the firewall components bundled into security suites, ask permission for each application's outgoing connections and deny until you answer. If one is installed, it is a genuine candidate, and it is exactly the sort of thing that blocks one destination while everything else keeps working.

Checking one is the same three steps whichever product it is. Open its rule list and look for an entry naming your browser, or the destination, with a deny action. Open its log or history and look for a blocked entry timed to the moment your page failed, which is the thing that actually proves it. Then, if you find one, allow that one rule rather than pausing the whole product, because pausing it teaches you nothing about which rule was responsible.

Check proxy and firewall: the firewall half
# Windows, PowerShell. The cmdlet Microsoft currently documents.
Get-NetFirewallProfile

# Linux. Expect "Status: inactive" on a stock Ubuntu box.
sudo ufw status verbose

# macOS: the Firewall pane shows the state, but there is no
# outbound policy to read. Check a third-party filter instead.

Before you turn a firewall off to test this

On Windows, read the outbound action rather than reaching for the on-off switch, because the switch tells you nothing the default has not already told you. On macOS there is no outbound policy to read, and on a stock Ubuntu box the policy exists but is not in effect, so on neither platform is there an outbound block to switch off.
The forum threads on this error are full of people who had already disabled their firewall before posting, and it had changed nothing. They were then told to check their firewall.

When you suspect the path rather than a setting, two probes from our side separate "the world cannot reach it" from "you cannot reach it": whether the host answers at all before HTTP is involved, and whether the port itself is reachable from outside your network.

One case where a proxy really is involved and the message is still not this one: if a proxy answers and demands credentials, you get a different error entirely, which we cover in when the proxy does answer, and demands a password. A proxy that talks to you is not a proxy you need to hunt for.

When Only One Site Fails, and Two Messages People Confuse With This One

The most common version of this problem in the wild is not what the guides are written for. One site fails, sometimes intermittently, while everything else loads normally. Every checklist that begins with restarting your router is written for a person who has no internet at all, and that person is not the one searching this phrase.

For the single-site case, the four questions above are the whole method, and the answer is usually on the other side. A host that refuses or resets one connection and serves everyone else is having its own problem, or has made a decision about you. Neither is fixed from your settings screen.

Intermittent is its own signal. A configuration error is not intermittent; it fails every time until you change it. Something that works, then does not, then does again points at load, rate limiting or a route, and the log from Section 3 tells you which.

Two other messages get conflated with this one. Windows has its own wording about failing to detect a network's proxy settings, which comes from the Windows troubleshooter rather than from Chrome. And "proxy firewall" is a category of enterprise appliance, which is what the two words return without Chrome in the query. If a name lookup is what failed, our guide to the DNS-shaped cousin of this message is the right page.

The Short Version

Here is the whole thing in one line before the detail. The message is a guess on five of the six codes that print it, it is right on the sixth, and the only suspect on your own machine worth real time is a third-party outbound filter, which no error code will name for you.

Checking the proxy and the firewall is a suggestion, not a finding. Chromium's own string file defines it as a link that calls toggleHelpBox(), so clicking it expands a panel and nothing else. It appears for six error codes, chosen by the code alone, with no reference to whether you have a proxy configured.

Read the ERR_ line underneath instead. Refused means something declined you, which is usually the far end. Reset means a connection was cut mid-flight. Timed out means silence. Those are three different problems. Filtering can produce a reset or a timeout, depending on whether it answers or stays silent, but a refusal usually comes from the far end. The rare TLS downgrade code is the one that genuinely points at interception.

Before changing anything, answer four questions: does another site work, does another browser fail, does another network work, and what does the network log say. Then remember that the firewall built into your operating system allows outgoing traffic by default, which makes it an unlikely culprit and a poor thing to disable on a hunch. A third-party outbound filter is the exception, and the one worth checking early.

And if you want to know how the far end sees you before you start, our homepage check reports the address your connection is arriving from and how it is classified. That is context rather than a diagnosis; the log in Section 3 is still the thing that tells you what failed.

Stop Guessing At Your Own Machine
One check shows what your connection looks like from the outside, including whether anything is sitting in front of it. The other shows whether a port is reachable from beyond your network. Between them you can rule the far end in or out before you touch a single setting.

Frequently Asked Questions

Q What does "checking the proxy and the firewall" mean in Chrome?

A
Checking the proxy and the firewall is one line in the "Try:" list on Chrome's error page, and Chromium defines it as a link that opens the details panel lower down. It is a prompt aimed at you, not a report of something Chrome examined. Your settings were never read and your firewall was never asked.

Q Does clicking "Checking the proxy and the firewall" actually check anything?

A
No. Chromium wraps that sentence in a link targeting a position on the current page, calling a function that unfolds the help panel. Nothing is contacted and no verdict is produced. The "Running Windows Network Diagnostics" line beside it does reach something real on Windows, though Chrome skips even that in Incognito and does not build it for macOS or Linux.

Q Which Chrome errors show this message?

A
Six: ERR_CONNECTION_REFUSED, ERR_CONNECTION_RESET, ERR_CONNECTION_CLOSED, ERR_CONNECTION_TIMED_OUT, ERR_TIMED_OUT and the rare ERR_TLS13_DOWNGRADE_DETECTED. Chrome picks the suggestion from the error code alone and never from your configuration, which is why it appears on machines with no proxy at all. ERR_NAME_NOT_RESOLVED gets blamed constantly and never produces it, because its DNS flag routes it to a longer suggestion instead.

Q I do not use a proxy. Why is Chrome telling me to check one?

A
Because the suggestion is attached to the error code, never to your machine's configuration. Chrome prints checking the proxy and the firewall on computers with no proxy set anywhere, simply because the code that came back carries the proxy and firewall flags. It is a generic prompt, and for most readers it is the wrong guess.

Q How do I check whether a proxy is set?

A
On Windows run netsh winhttp show advproxy, remembering that this reports the machine store rather than the one your browser reads. On macOS and Linux, env | grep -i proxy shows the variables command-line tools use, and the graphical setting lives in the network settings Proxies pane. A check from outside your connection settles it faster.

Q Only one website fails and everything else works. What now?

A
Then a system-wide proxy and a built-in firewall are both ruled out, and you proved it without touching a setting. One suspect survives: a security product that polices each application's outgoing connections individually. Otherwise try the address on a phone over cellular, then capture a network log to see what failed.

Q Should I turn my firewall off to test this?

A
Almost never, and checking the proxy and the firewall is weak advice for exactly this reason. Microsoft's reference gives Allow as the default outbound action when managing a computer, Apple's firewall is not an outbound filter, and ufw ships disabled. The exception is a third-party outbound filter, worth checking early rather than late.
Christopher Vance
Verified Content Expert

Christopher Vance

Web Infrastructure Specialist

Christopher Vance is a network engineer and proxy infrastructure specialist based in Chicago, Illinois, with over 10 years of experience in IP routing, geo-block circumvention, and residential proxy systems. Before joining Trust My IP, he worked on the detection-side of web access technology — giving him a rare inside view of how websites identify and block users. He writes in-depth, tested guides on proxies, web scraping, and open internet access, with a focus on methods that actually work in 2026.

Helpful Insight?

Share with your professional network