How to Fix the ERR_CONNECTION_REFUSED Error in Chrome (9 Tips)

The ERR_CONNECTION_REFUSED is a connection error that may appear in Google Chrome. It happens when the user tries to access a page, but the browser refuses to connect. This is a client-side issue that is likely to be caused by a poor internet connection.
Unfortunately, encountering errors like this comes hand-in-hand with using the internet. There are hundreds of possibilities, from the white screen of death to the classic 404 error , the ERR_CONNECTION_TIMED_OUT error or the ERR_CACHE_MISS.
Trust us, our support team deals with all sorts of errors on a daily basis. So this is nothing new for us.
| Error Code | ERR_CONNECTION_REFUSED |
| Error Type | Connection |
| Error Variations | This site can’t be reached Unable to connect Hmmm…can’t reach this page |
| Error Causes | Internet connection issues Cache issues Antivirus, firewall, or VPN interference Faulty Chrome extensions |
What Causes the ERR_CONNECTION_REFUSED Error?
Like we said, the cause for this issue can be quite simple. If you have a poor internet connection, you may be seeing this message in Google Chrome. But there are also other reasons for the ERR_CONNECTION_REFUSED error:

- Chrome extension issues
- Antivirus and firewall interference with browser
- Incorrect internet settings
- Cookies Issues
- DNS Cache Issues
- Outdated version of browser
ERR_CONNECTION_REFUSED error in Google Chrome
When you visit a website using Google Chrome and encounter this message, it means that your attempt to connect was refused. This error code also appears in other browsers, albeit in different forms.
A similar message that may also appear here is the DNS_PROBE_FINISHED_NXDOMAIN error, which is a DNS error which signals that the requested domain name does not exist.
Mozilla Firefox (Unable to connect Error)
In Mozilla Firefox it will simply show as Unable to connect.
Firefox can’t establish a connection to the server at domain.com.

Microsoft Edge (Hmmm…can’t reach this page Error)
In Microsoft Edge, it will simply show as Hmmm… can’t reach this page. Which isn’t very helpful.
Make sure you’ve got the right web address: domain.com.

The ERR_CONNECTION_REFUSED error is sometimes caused by a server-side problem, rather than an issue with your individual attempt at connection. It’s usually nothing serious, and can simply be the result of incorrect firewall or server settings. However, it can also be a sign that something more significant has gone wrong – such as a malware attack, or unexpected downtime. An unreliable internet connection can also contribute.
As with most error messages, ERR_CONNECTION_REFUSED lets you know that something has gone wrong, without being kind enough to tell you why it’s happened. This means it’s up to you to find and resolve the root issue (if possible).
How to Fix the ERR_CONNECTION_REFUSED Error?
Although the range of potential causes can make troubleshooting tricky, it is possible to fix the ERR_CONNECTION_REFUSED error. Let’s walk through nine steps you can take, starting with the ones most likely to provide an answer.
1. Check the Status of the Website
Your first port of call should be to check the status of the website you’re trying to access. As we’ve already mentioned, the ERR_CONNECTION_REFUSED error can sometimes be caused by the site’s server, rather than your own internet connection.
A simple way to check whether this is the case is to visit another web page. If the error message occurs again, the problem most likely originates with your connection. If the second page loads correctly, however, the first site was probably at fault.

Enter the address of the non-functioning page, and click on Or just me?. This site will then assess whether the page is offline (down), or online (up). Unfortunately, when a page is down, the only thing you can do is wait for it to be fixed. However, if the page is up and is still not loading for you, it’s time to do some further troubleshooting.
2. Restart Your Router
As a tried-and-tested method for fixing many internet-related issues, your next step will be to try ‘turning it off and back on again’. Restarting your home or office router doesn’t come with a 100% success guarantee. However, the process takes just a few minutes, so it’s more than worth a try when you’re dealing with a potential connection issue.
To do this, disconnect the power supply to your router. You’ll then need to wait for about 30 seconds, before plugging it back in. Once the router has booted up again, try to access the page that returned an error. If it loads, then you’re good to go. If not, there’s likely another cause at play.
opening up your browser in incognito mode. Or you can try a different browser. If you’re still seeing the error, then you will want to proceed with clearing your cache.
To do so, begin by opening up Chrome’s primary menu (in the top-right corner of your browser window). From there, select More Tools: You can then click on Clear browser data.

On the resulting page, you’ll need to make sure that all listed file categories are selected. If they aren’t, Chrome won’t be able to empty the entire cache. Instead, it will simply remove the most recent entries, which won’t result in the desired effect:

An alternative method of completing this process is to enter the following URL into your address bar:
chrome://settings/clearBrowserData
The resulting screen should grant you access to the same options we’ve outlined above. Here are some other helpful links for clearing cache.
- How to Force Refresh a Single Page for All Browsers
- How to Clear Browser Cache for Google Chrome
- How to Clear Browser Cache for Mozilla Firefox
- How to Clear Browser Cache for Safari
- How to Clear Browser Cache for Internet Explorer
- How to Clear Browser Cache for Microsoft Edge
- How to Clear Browser Cache for Opera
4. Assess Your Proxy Settings and Adjust Them as Needed
With security threats consistently on the rise, it’s no wonder that many people are now using individual solutions to protect their sensitive data. A popular way of doing this is through the use of proxy servers.
A proxy lets you go online under a different IP address, and acts as an intermediary between your browser and the websites you visit. As well as keeping your IP address private, it can also help to filter cache data and server communications.
Just as with caching, a proxy server can be useful, but it can also cause the ERR_CONNECTION_REFUSED message. For example, a web server might reject the IP address attached to a proxy server, and then reject the actual connection as a result.
It’s also possible that the proxy is offline, or incorrectly configured. In short, if the error message in question occurs, it’s worth checking out your proxy settings.
Chrome actually has its own proxy section, which can make this step a particularly simple process. After all, you won’t need to spend any time searching for the correct tools in your browser.
To get started, access the Settings menu in your Chrome browser. This will open up the complete menu of options. Under the System section (you’ll need to click Advanced at the bottom to see this), you should find an entry titled Open proxy settings. By selecting it, you’ll be taken to the corresponding menu:

Your next step depends on the system you’re currently using. Windows users will want to click on LAN Settings, and uncheck the Use proxy server for LAN option. If you’re a Mac user, you should immediately find yourself in the relevant menu. You’ll then have to uncheck all selectable proxy protocols, and check to see if the ERR_CONNECTION_REFUSED message has been resolved.

5. Disable Firewall and Antivirus Software Temporarily
Firewalls and antivirus software are intended to protect users and their systems. They scan your device regularly, and automatically block any suspicious activity. You may start to notice a recurring theme here, however, since (much like with caching and proxy servers) this type of advanced security can at times lead to connection issues.
This is because firewalls can often block pages they don’t need to, or reject content that is completely safe. To check whether this is the case for you, try disabling your firewall and antivirus programs. Of course, this is only advised if you know for sure that the site you’re intending to visit is safe.
Additionally, you should only disable this kind of software temporarily. Switch it back on after you’ve finished checking to see whether the error has been resolved, so you don’t become vulnerable to attacks. If you repeatedly encounter errors because of your firewall or antivirus software, you may want to consider changing what you’re using.
6. Clear Your DNS Cache
As somewhat of an extension to an earlier troubleshooting step, your next task will be to clear your DNS cache. Although most people are aware that their browser creates a cache, not as many know that their operating system does the same thing.
For example, your DNS cache contains all of the temporary entries for pages you’ve accessed with your browser. These entries store key information related to the domain names and addresses of the pages you’ve visited.
The purpose of this feature is similar to that of other types of caches. It accelerates the loading process, as it eliminates the need to contact a site’s DNS server repeatedly. This will save you time in the long run. However, you may occasionally see some short-term issues.
If a stored entry no longer matches the current version of the website it refers to, technical errors like the ERR_CONNECTION_REFUSED message are not unusual. Fortunately, clearing your DNS cache is a quick and easy solution.
Again, how you’ll do this will depend on your operating system.
Windows
Launch the start menu by pressing the Windows key and search for “CMD.” This should return the command prompt.

In the command prompt run the following command:
ipconfig /flushdns

You will then see a confirmation that it has successfully flushed the DNS resolver cache.

For the purposes of this article, we’ll talk you through the process when you’re using a Mac – although you’ll be able to find numerous helpful resources online if you’re a Windows fan.
Mac
On a Mac, you’ll need to do the following:
Click “Go” up in the toolbar and then “Utilities.” (Shift-Command-U)

Open the Terminal.

Run the following command. You will need administrator access to do this.
sudo killall -HUP mDNSResponder && echo macOS DNS Cache Reset

When you’ve done that, try accessing the problem site again. Hopefully, if you’ve followed all of our advice, it should be working by now. If not, your DNS may require some more attention.
7. Change Your DNS Address
As we discussed above, an outdated DNS cache entry is a potential source of issues like the ERR_CONNECTION_REFUSED message. However, the DNS address itself can also be responsible for these kinds of problems. This is because it can often become overloaded, or even go completely offline.
In the majority of cases, your DNS server address is automatically obtained from your internet provider. However, you can also change it if required. How you’ll do this will again depend on the operating system you’re using.
Let’s explore how Mac users can complete this process. First, you’ll need to open up System Preferences. On the resulting screen, select the option marked Network. You’ll then need to click on Advanced:

From there, select the DNS option found at the top of the screen. To add a new DNS server, click on the + button. To edit an existing DNS server instead, double-click on the DNS IP address you wish to adjust:

You can try temporarily changing these to a public DNS server, such as Google or Cloudflare.
- Some prefer to use Google’s public DNS (8.8.8.8 and 8.8.4.4) long-term due to them sometimes being more reliable.
- Cloudflare also offers its secure and blazing fast free DNS (1.1.1.1 and 1.0.0.1).
Tip: If you’re already using a free DNS server and having issues, removing it and defaulting back to your ISP’s DNS servers also sometimes fix things. Google and Cloudflare aren’t perfect 100% of the time and there have been a few instances where we’ve noticed switching back has resolved the issue.
You can then attempt to access the site again – and cross your fingers.
8. Disable Any Chrome Extensions
There’s no denying that installing extensions often contributes to a more well-rounded Google Chrome experience. The many extensions on offer can add key features, and even help to automate complex processes.
However, a large number of the extensions available for Google Chrome are not developed by the browser’s developers. Instead, they’re usually created by third parties. This can mean there’s no real guarantee they’ll work as you intended, or that they will be correctly updated over time.
Incorrect or outdated extensions are likely to cause numerous issues – including the ERR_CONNECTION_REFUSED error message. For this reason, it’s important to regularly audit the extensions that are attached to your browser.
To do that, first open the Extensions menu in your Chrome browser. You can then begin to assess each of your installed extensions in turn. Start by questioning whether you actually need each one. If an extension is no longer necessary, you can simply remove it.
Next, find out when each extension that you want to keep was last updated. Ideally, it should have been updated within the last three months. Anything longer than that could be a sign that the extension is being neglected by its developers. If possible, you’ll want to remove those extensions and replace them with newer alternatives.
Of course, new (and fully updated) extensions can still sometimes cause problems. If you suspect that this is the case, begin by disabling all of your attached extensions. If the site you’ve been trying to access loads after doing this, you’ll know that at least one of them is at fault. You can then reactivate one extension at a time, until you’ve honed in on the problem software.
9. Reinstall the Chrome Browser
As with any other application, Chrome itself is never going to be completely bug-free. Your installation of the browser can contain various issues, especially if it hasn’t been updated in a while. What’s more, problems between your browser and operating system are surprisingly common.
As a result, sometimes the only solution is to completely reinstall Chrome. You can do this by removing the current installation from your device. You can then download the most recent version of the browser by visiting the official Chrome website.
What to Do If None of These Solutions Work?
If none of the solutions we’ve walked you through fixes the ERR_CONNECTION_REFUSED message, it’s usually a sign that something more serious has gone wrong on the server-side (in other words, with the website itself).
Unfortunately, in this scenario, the only thing you can do is be patient. It’s likely that the website’s owners are working hard to resolve any issues, and it will resume business as usual before too long.
If accessing the site is a matter of urgency, you could try reaching out to its owners directly. There are numerous ways to do this, although social media and email are particularly effective – and unlikely to be affected by any website downtime.
Explain the problem you’re facing, and mention that you’ve tried several solutions to no avail. Hopefully, the team behind the website should get back to you and discuss the best course of action. You may even be doing them a favor, if you happen to make them aware of an issue they didn’t know was preventing access to their site.
If you’re a Kinsta client and it’s your own site that is having the issues, feel free to reach out to our support team. We are here to help 24/7.
Browser errors are never fun. Here are a few tips on how to fix the stubborn ERR_CONNECTION_REFUSED error. Click to Tweet
Summary
Although connection errors are endlessly frustrating, it’s important to remember that they can often be fixed. Your first port of call should always be to check whether the issue lies with the web page itself. If the problem is with your own connection, on the other hand, you’ll need to put in a little work to get things back up and running.
Do you have any more questions about this particular error message, or is there another commonly-encountered problem that you’d like us to explore? Let us know in the comments section below!
Get all your applications, databases, and WordPress sites online and under one roof. Our feature-packed, high-performance cloud platform includes:
- Easy setup and management in the MyKinsta dashboard
- 24/7 expert support
- The best Google Cloud Platform hardware and network, powered by Kubernetes for maximum scalability
- An enterprise-level Cloudflare integration for speed and security
- Global audience reach with up to 35 data centers and 260 PoPs worldwide
Get started with a free trial of our Application Hosting or Database Hosting. Explore our plans or talk to sales to find your best fit.
Brian Jackson
How To Fix the ERR_HTTP2_PROTOCOL_ERROR
Using the HTTP/2 Network Protocol, you can reach websites faster than ever before. However, you may stumble across an err_http2_protocol_error. This can prevent you from accessing certain web pages. Fortunately, there are many solutions for the HTTP/2 protocol error. Whether you fix the problem within your browser or operating system, you can easily remove this troublesome message. Then, you can continue with your normal online browsing. In this post, we’ll introduce you to the err_http2_protocol_error and its causes. Then, we’ll show you how to fix this problem on both a browser and a personal device. Let’s get started!
What Does the err_http2_protocol_error Mean?

When you perform a search, you may receive an “err_http2_protocol_error” message. This can prevent you from accessing a web page, stating that it is currently down or was permanently moved to another address: To understand the err_http2_protocol_error, let’s first discuss the Hypertext Transfer Protocol (HTTP). This is the application protocol that allows the retrieval of online resources. A protocol is a set of rules that controls how data is transferred between clients. In this case, it can govern the HTTP requests between users and web browsers. Currently, most browsers, applications, and systems run on the HTTP/2 network protocol. This updated protocol comes with enhanced efficiency for virtual data communication. Although this update has many benefits, you still may experience errors when accessing online content. Sometimes, the err_http2_protocol_error will display as an HTTP error message and prevent you from accessing the online resource you’re looking for. Get back to your normal browsing experience in no time with this handy guide Click to Tweet
What Causes the err_http2_protocol_error?
- Outdated software. When your device’s operating system or web browser is outdated, it can be incompatible with a certain website. This will cause the err_http2_protocol_error if the site fails to parse your device’s data packets.
- Corrupted browser cache. If your browser’s cache, cookies, or history is corrupted, then the requested site may be unable to authenticate your device’s legitimacy. As a result, the web server can refuse to make the connection and return this error.
- Conflicting browser extensions. In some cases, third-party browser extensions can interrupt communication with the website’s server. This can prevent the site from rendering.
- Third-party antivirus or firewall software. If you’re using antivirus or firewall software to secure your connections, it can prevent you from accessing certain websites.
As you can see, there are multiple reasons why you might see the HTTP/2 protocol error. Luckily, there are also many methods you can use to fix this problem.
How To Fix the err_http2_protocol_error In a Browser
Once you receive the err_http2_protocol_error, you can start troubleshooting to find the source of the issue. Although we’ll fully discuss some methods you can use, there are some simpler fixes you can start with.
First, try refreshing the web page. Hitting F5 on your keyboard will send a request with an If-Modified-Since header. If the site was temporarily down, this may solve the problem.
Alternatively, you can visit the site using a different browser. You may also want to close some tabs if there are too many open. If the error persists, continue with the following methods.
1. Update Your Browser
If you’re making searches with an outdated browser, this can easily lead to an HTTP/2 protocol error. This is because your browser’s data packets are incompatible with the site you’re trying to load.
To fix this problem, you can update your browser. Using Google Chrome, you can simply click on the three-dot icon in the upper right-hand corner and select Update Google Chrome.
If you don’t see this button, your browser is likely already up-to-date. To check if this is the case, go to Help > About Google Chrome:

This will prompt Google Chrome to check for a new update. If there is one, it will automatically install it. To finish updating, you’ll need to relaunch the browser:

If you’re using the Google Chrome mobile app, you can simply open the App Store or Play Store, depending on your device type. Then, check for any app updates and install them!
2. Clear Your Browser Data
Whenever you experience issues during the rendering process, it’s a good idea to clear your browser data. By clearing your cache, cookies, and history, you can enable visited websites to authenticate your device and fulfill the request.
Depending on your browser, there are a few different ways to clear the cache. For Google Chrome, you can select More Tools > Clear Browsing Data:

Using the pop-up window, you can specify the information you want to clear. You’ll want to be sure to select Cached images and files, but you can also get rid of your browsing history, cookies, and other data:

If you’re using Safari, it will be a similar process. To do this, go to Safari > Clear History:

Then, you can choose to clear your cache, cookies, and site data from a specific time range. When you’re done, click on Clear History:

To clear your browser data on Mozilla Firefox, you’ll need to find the hamburger icon in the upper right-hand corner. Next, select History:

In the new tab, click on Clear recent history:

Like other browsers, you can choose only to clear certain data. However, it’s important to remember to select the Cache option:

Now that you’ve cleared your browser cache try to visit the website where the error occurred. If you still see the err_http2_protocol_error message, you’ll need to try some alternative solutions.
3. Open a Private or Incognito Browser Window
Whenever you visit a new website, your browser will save information about that site in a cache. Once you visit the page again, your browser will pull the cached data rather than requesting the server all over again. Often, this can make the site load faster on repeat visits.
For this reason, you may want to avoid clearing your browser cache when trying to bypass the HTTP/2 protocol error. In this case, you can launch the browser in private or incognito mode.
This can be an effective one-time solution to avoid permanently deleting the cache or disabling third-party extensions. To do this in Google Chrome, extend the menu and click on New Incognito Window. This will open a private browser:

Using the incognito mode, try to visit the website again. It may enable you to do this without having to use more complicated solutions. However, keep in mind that this is primarily a short-term fix.
4. Disable or Uninstall Browser Extensions
As we mentioned earlier, third-party extensions could potentially interfere with how your browser and a web page interact. After you see the err_http2_protocol_error message, you can consider disabling these extensions to see if the error disappears.
To do this in Google Chrome, visit More Tools > Extensions:

This will take you to a web page that lists your Chrome extensions. First, use the switches on the bottom-right corner to turn off each extension:

Now that your extensions are disabled try to go to the web page that caused the error. If the page loads, you’ll know that one of your extensions caused the problem.
Now, you can go back to the Extensions page and enable them one by one. After you turn on an extension, see if the error returns. When you find the problematic extension, consider removing it entirely.
5. Turn Off the Browser’s QUIC Protocol
Quick UDP Internet Connections (QUIC) is an encrypted transport network protocol that was developed by Google. Essentially, its goal was to increase the speed, security, and efficiency of HTTP traffic.
Currently, only eight percent of websites use QUIC. Therefore, when sites aren’t configured to process this kind of traffic, it can cause incompatibility between the client and server. As a result, this can display an HTTP/2 protocol error.
To solve this problem, you can turn off the QUIC protocol in your browser. In Chrome, you’ll simply need to enter the following URL into your search bar:
Now you’ll see a highlighted result labeled Experimental QUIC protocol. For this setting, change it to Disabled:

Once you make this change, you’ll need to relaunch your browser. This will disable QUIC, allowing you to view the incompatible website.
6. Restore the Browser’s Default Settings
As you use Google Chrome, you may not notice small glitches that can change its default settings. Over time, this can lead to more errors like the err_http2_protocol_error.
Fortunately, you can get your browser back to normal by reverting its settings to the default options. To get started, open the Google Chrome Settings page:

On the left, find the Reset settings tab. Then, select the Restore settings to their original defaults option:

Finally, you’ll just need to confirm that you want to erase your current Chrome settings. If you do, click on Reset settings:

It’s important to keep in mind that this will erase your current search engine history, startup page, pinned tabs, extensions, bookmarks, and more. It will essentially revert your browser to a clean slate. However, it can remove any conflicting software or settings that are causing the HTTP/2 protocol error.
You can also consider resetting the experimental settings in your browser. These are not fully tested, functional features, so they could prevent your browser from communicating properly with a website.
To find your advanced experimental settings, search for the following address:
In the upper right-hand corner, select the Reset All option. If certain features were accidentally enabled, this will revert them to the default settings:

Then, these changes will be applied whenever you relaunch Chrome!
7. Reinstall Google Chrome
After executing all these methods, you may still see the troublesome HTTP/2 protocol error. If so, there could be an error within the Google Chrome app. Even if you restored the default settings, you may want to consider reinstalling the entire browser.
First, you’ll need to delete the browser from your device. To do this with a macOS operating system, open the Applications folder and move the Google Chrome app to the trash:

You’ll also want to delete any Chrome software updates. To find them, search for ‘~/Library/Google’ on your device. In your results, delete the “GoogleSoftwareUpdate” folder:

If you’re a Windows user, you’ll use different steps to delete Chrome. To start, click on the Windows Start button and search for the Control Panel. Open it, then find the Programs option. Click on Uninstall a Program under Programs:

Now you’ll need to find Google Chrome and right-click on it. Lastly, hit Uninstall:

For both Mac and Windows users, you can reinstall Chrome in the same way. You’ll simply need to download the file included on the Google Chrome website:

Although this method could potentially solve the err_http2_protocol_error, it’s best only to use it as a last resort. Deleting Chrome will also remove all of its data, so be sure to try a few simpler solutions beforehand.
How To Fix the err_http2_protocol_error In a Device
So far, we’ve examined some methods to fix the err_http2_protocol_error using a web browser. However, in some cases, the browser may not be the source of the problem. To help you troubleshoot the issue, let’s discuss how to make your device compatible with the HTTP/2 protocol.
1. Reset Your Device’s Date and Time
Although it may not seem like a big deal, it’s important to have the correct date and time displayed on your device. If this information isn’t accurate, the incorrectly time-stamped data packets could be refused. This can lead to an err_http2_protocol_error.
With a Windows operating system, you can right-click on the clock in the bottom-right corner of your desktop. Then, select Adjust date and time:

If your computer isn’t automatically displaying the right time, you’ll need to disable the Set time automatically setting. Beneath this, be sure to set the correct time zone:

Next, select the Change button to Set the date and time manually. In the pop-up window, enter the correct date and time:

For Mac users, click on the Apple menu. Then, select System Preferences. Here, find the Date & Time option:

In the bottom-left corner, click on the lock to make changes. Now you can deselect the Set date and time automatically option and choose the correct values:

After you make these changes, try relaunching the web page!
2. Update Your Operating System
If you haven’t updated your device in a while, this can cause a multitude of performance issues. To ensure you can avoid any conflicts between your operating system and visited websites, you’ll need to check for recent upgrades.
Using a macOS device, you can start by performing a backup. Then, go to System Preferences > Software Update:

In this window, you’ll see any newly available updates. If you’re ready to install them, click on Update Now.
With a Windows computer, you can navigate to Start > Settings > Windows Update. If you haven’t already, install the latest update:

Once your device is up-to-date, it should be compatible with most websites that you want to visit. To see if this is the case, check whether the HTTP/2 protocol error is fixed. If not, continue with the following methods.
3. Flush the DNS
On the internet, the Domain Name System (DNS) functions as an index for all available websites and their unique IP addresses. When you visit a website, your operating system or browser will save this information in a database. This can lead to faster loading times on revisited websites.
If you’re seeing the err_http2_protocol_error, you can try flushing your DNS cache. Put simply, this will erase the IP addresses and other DNS data from your computer.
To flush a Mac DNS cache, open the command line interface called Terminal. In this window, enter the following command:
sudo killall -HUP mDNSResponder
This should successfully clear the DNS, removing the HTTP/2 protocol error. However, keep in mind that you’ll need to use slightly different processes for older versions of macOS.
If you have Windows 10, 8, 7, or XP, you can start by opening Command Prompt. In the command line, paste this command:
You should see a confirmation message once the DNS has been flushed!
4. Check Antivirus Software
To keep your computer safe while you’re browsing, you likely have an antivirus program installed. Although this software offers many security benefits, it can occasionally flag certain applications as malicious. When this happens, it may unnecessarily limit your access to a website.
If none of the previous methods worked, you can check your antivirus software to see if it is functioning properly. First, open your notifications, which can display new security issues:

Most antivirus software will also have a quarantine list. This will contain all of the detected security threats on your computer:

In either of these areas, evaluate whether any unwanted applications are being flagged. If so, you may need to temporarily disable your antivirus software.
Summary
When the err_http2_protocol_error happens, it can be extremely frustrating. Instead of quickly viewing necessary online resources, you’ll only be able to see an error message. Luckily, you can take a few simple steps to solve this problem.
Even as a complete beginner, you can optimize your web browser to bypass HTTP/2 protocol errors. By simply clearing the cache, opening a private window, or turning off third-party extensions, you can successfully view the blocked content. If the problem lies in your operating system, you can consider performing software updates or flushing the DNS cache instead.
As a website owner, you’ll need to know that your web pages can be reached at any time. With Kinsta, you’re able to use our HTTP Status and Redirect Checker to make sure your website is functioning correctly. Additionally, you can check your disk usage in the MyKinsta dashboard!
Get all your applications, databases, and WordPress sites online and under one roof. Our feature-packed, high-performance cloud platform includes:
- Easy setup and management in the MyKinsta dashboard
- 24/7 expert support
- The best Google Cloud Platform hardware and network, powered by Kubernetes for maximum scalability
- An enterprise-level Cloudflare integration for speed and security
- Global audience reach with up to 35 data centers and 260 PoPs worldwide
Get started with a free trial of our Application Hosting or Database Hosting. Explore our plans or talk to sales to find your best fit.
Is your WordPress site slow?
Uncover your website’s performance bottlenecks to deliver a better user experience.
Inconsistent ERR_HTTP2_SERVER_REFUSED_STREAM error on page-load
Do you have any security plugin installed on your site? I faced similar issue a week ago. The site had 2 security plugins installed together and I uninstall one of them and it fixed the issue for me.
Mar 25, 2021 at 1:16
Mmmh, I guess not a security plugin in classic sense, but I do have a Password Protection Plugin installed (see: Password Protect WordPress Lite in the added list of installed plugins). With the plugin I have a sitewide protection enabled as the site is not for public access. . Before I will be able to deactivate the plugin and check if this solves the issue I’ll probably have to look for some kind of alternative in limiting the access to the site, but I’ll have to clarify that. I’ll do that tomorrow. . Thanks for the hint in that direction.
Mar 25, 2021 at 2:19
Minor Update: We have disabled the plugin and very briefly afterwards the other user, who experienced these errors, had them again. But, as it was very immediate after the deactivation of the plugin that could be browser- / caching-related (?). . Besides that one occurence we’ve had no errors since then. As the errors even before the deactivation only happened seemingly arbitrarily, we do not know (yet), if the issue is actually solved. .
Mar 27, 2021 at 17:11
Update: The error still occured after disabling the `Password Protect WordPress Lite´ Plugin. So in our case a security plugin wasn’t the cause.
Apr 2, 2021 at 14:16
4 Answers 4
This is not related to WordPress. It’s related to either Apache or Nginx using the HTTP/2 standard.
REFUSED_STREAM (0x7): The endpoint refused the stream prior to performing any application processing (see Section 8.1.4 for details).
It can either come from too many concurrent streams:
Endpoints MUST NOT exceed the limit set by their peer. An endpoint that receives a HEADERS frame that causes its advertised concurrent stream limit to be exceeded MUST treat this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR or REFUSED_STREAM. The choice of error code determines whether the endpoint wishes to enable automatic retry (see Section 8.1.4) for details).
It can also be sent during a Push Response operation:
If the client determines, for any reason, that it does not wish to receive the pushed response from the server or if the server takes too long to begin sending the promised response, the client can send a RST_STREAM frame, using either the CANCEL or REFUSED_STREAM code and referencing the pushed stream’s identifier.
Or if the client is trying to connect using HTTP/1.1:
Servers that don’t wish to process the HTTP/1.1 response should reject stream 1 with a REFUSED_STREAM error code immediately after sending the connection preface to encourage the client to retry the request over the upgraded HTTP/2 connection.
There is no way for me to pinpoint what is happening during those requests, as it can have multiple reasons, as stated above.
So I suggest you a couple of options:
- Pass your site’s traffic throughugh Cloudflare, so they act as a middle-man for these connections and normalize the requests sent to your server
- You can increase the SETTINGS_MAX_CONCURRENT_STREAMS to minimize the risk of sending a REFUSED_STREAM . If you use Nginx, you can see how to do this here: http://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_concurrent_streams
- If you don’t know how to do the above, contact your hosting company and ask them to do it for you and upgrade your Nginx version, as some older versions are known to have issues.
- Disable HTTP/2 in Nginx. How to disable http2 in nginx
- As a last resource, you can migrate to another hosting company.
If you use Apache, everything I said above applies to it as well.
Inconsistent ERR_HTTP2_SERVER_REFUSED_STREAM error on page-load-wordpress
This is not related to WordPress. It’s related to either Apache or Nginx using the HTTP/2 standard.
REFUSED_STREAM (0x7): The endpoint refused the stream prior to performing any application processing (see Section 8.1.4 for details).
It can either come from too many concurrent streams:
Endpoints MUST NOT exceed the limit set by their peer. An endpoint that receives a HEADERS frame that causes its advertised concurrent stream limit to be exceeded MUST treat this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR or REFUSED_STREAM. The choice of error code determines whether the endpoint wishes to enable automatic retry (see Section 8.1.4) for details).
It can also be sent during a Push Response operation:
If the client determines, for any reason, that it does not wish to receive the pushed response from the server or if the server takes too long to begin sending the promised response, the client can send a RST_STREAM frame, using either the CANCEL or REFUSED_STREAM code and referencing the pushed stream’s identifier.
Or if the client is trying to connect using HTTP/1.1:
Servers that don’t wish to process the HTTP/1.1 response should reject stream 1 with a REFUSED_STREAM error code immediately after sending the connection preface to encourage the client to retry the request over the upgraded HTTP/2 connection.
There is no way for me to pinpoint what is happening during those requests, as it can have multiple reasons, as stated above.
So I suggest you a couple of options:
- Pass your site’s traffic throughugh Cloudflare, so they act as a middle-man for these connections and normalize the requests sent to your server
- You can increase the SETTINGS_MAX_CONCURRENT_STREAMS to minimize the risk of sending a REFUSED_STREAM . If you use Nginx, you can see how to do this here: http://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_concurrent_streams
- If you don’t know how to do the above, contact your hosting company and ask them to do it for you and upgrade your Nginx version, as some older versions are known to have issues.
- Disable HTTP/2 in Nginx. How to disable http2 in nginx
- As a last resource, you can migrate to another hosting company.
If you use Apache, everything I said above applies to it as well.

Lucas Bustamante 14276
I do have at least two wordpress sites which very inconsistently throw a varying number of net::ERR_HTTP2_SERVER_REFUSED_STREAM errors. When these errors occur the number of errors thrown highly differs from say 4 requests to about 60 and sometimes even more (if the page has enough requests),
As you said,the count of stream error is more than requests. A possibie explains is stream is push streams which has even stream id. Push stream is initiated by server side. In cotrast, stream initated by client side has odd id.
Why error counts so much?
We get the following sutuation to reply ERROR_CODE_REFUSED_STREAM.
- Browser handles server side stream RST frame (SpdySession::OnGoAway).RST frame means closing stream but not closing session. we may recevive error ERR_HTTP2_SERVER_REFUSED_STREAM
- Browser handles server side stream Goway frame (SpdySession::OnGoAway). Goway frame means closing session. Server side request goway frame without any error(spdy::ERROR_CODE_NO_ERROR). we may recevive error ERR_HTTP2_SERVER_REFUSED_STREAM
The error counts is far more than the requests. So we may be led to stage concultion.
Server side sent RST frame with high probability.
Now we keep digging in.
Server may sent ERROR_CODE_REFUSED_STREAM with the following suituation:
- When session property enable_push_ is off, but try to create push stream.
- session state goes to STATE_GOING_AWAY, but receive push stream
- Wrong Push stream without «:url» header
- Only http scheme allowed for cross origin push by trusted proxy. If not, get refused.
- Pushed URL must have https scheme
- Certificate does not match pushed URL.
- Duplicate pushed stream with the same url.
- ERR_TIMED_OUT or ERR_HTTP2_CLIENT_REFUSED_STREAM
Useful utility
use debug tools to get more info.
chrome://net-internals/http2#events
chrome://net-export/