Localhost enables you to test programs and websites that are still under development. It also offers a safe way to install and update software. However, you might encounter a “Localhost Refused to Connect” error while working with it.
When you see this error message, it means that your browser can’t establish a connection with the server that’s running on your local computer. There are a few tried-and-tested ways to resolve this issue. For instance, you may need to disable your firewall or adjust your browser settings.
In this post, we’ll discuss the main causes of “Localhost Refused to Connect”. Then, we’ll explore five methods to resolve this localhost issue. Let’s get started!
What Causes the “Localhost Refused to Connect” Error?
Localhost simulates a web server on your local computer. Many developers and network administrators use it to test programs and websites.
With localhost, you can make changes to your site in private. You can also safely update or install software without having to worry about breaking your live site.
The “Localhost Refused to Connect” error is a common issue that can occur when you try to access a website or program hosted on your local computer. Essentially, it means that your browser is unable to establish a connection with the server running on your local machine.
Here are some of the main causes of the “Localhost Refused to Connect” error message:
- The local server is not running (or is not actively accepting connections).
- You’ve entered the wrong port number or URL.
- Your security software or firewall settings are blocking the connection.
- The server has insufficient permissions to bind to the specified port.
- The browser refuses to establish a connection because the target site isn’t using HTTPS.
The easiest way to fix the “Localhost Refused to Connect” error is to find out exactly what’s causing the issue. In the next section, we’ll cover a handful of tried-and-tested methods that should enable you to access localhost again.
How to Fix the “Localhost Refused to Connect” Error (5 Ways)
Now that you know a bit more about the “Localhost Refused to Connect” error, let’s take a look at five ways to fix it.
1. Temporarily Disable Your Firewall
A firewall is a preventative security measure that enables you to filter incoming traffic and block suspicious IP addresses. However, the protocols aren’t always accurate, so the firewall can end up blocking safe websites or connections.
Therefore, if you use a firewall (or similar security software), it’s a good idea to disable its settings. If you’re able to access your local server after disabling the firewall, then you know it’s the cause of the problem.
The process differs, depending on your operating system.
For Mac users, you’ll need to go to System Preferences > Security & Privacy > Firewall. Once you’ve disabled the firewall, you should be able to accept all incoming connections, so the “Localhost Refused to Connect” error should clear.
If it does, you’ll need to create an exception for your local server to prevent the issue from reoccurring.
If you use Windows, open the Windows Security page and select Firewall & network protection. Here, select a network profile:
Under Microsoft Defender Firewall, switch the setting to On:
Now, try connecting to localhost again.
Remember to enable the firewall once again when you’re done.
2. Flush Your DNS
The DNS cache stores data from the websites you visit. This means that they load much faster when you access them again.
However, the DNS can become overloaded with too many records and fail to function properly. This could explain why localhost refused to connect.
The solution is to clear the records by flushing the DNS. The simplest way to do this is to use the command prompt.
Windows users will need to locate the start menu, type “cmd” and enter the following command:
ipconfig /flushdns
If you’re using a Mac device, go to Applications > Utilities, or you can use Spotlight to find the terminal. In that case, you’ll need to enter the following command:
$ sudo killall -HUP mDNSResponder3. Verify the Port Number
You’ll usually be asked to supply your password before the command can be performed.
3. Verify the Port Number
The default port number for the web server is 80. However, the server may not be configured to use the default port. Or, it may be being used by another program on your machine.
You’ll want to make sure that port 80 is available first. The simplest way to do this is to use XAMPP. This is an open-source server solution stack that helps you build a WordPress website on a local computer.
Once you’ve downloaded and launched the software, you’ll need to click on the Netstat button to the right of the window. You should be able to see all the ports being used on your computer.
If port 80 isn’t available, you’ll have to choose a free port number (e.g. 8080). Then, you’ll need to instruct your server to listen for the right port.
To do this, open the XAMPP control panel window to view all running services. Besides Apache, click on Stop. Now, open File Explorer and locate the http.conf file. This is typically stored in the config folder.
Here, look for the listen directive, which should look like this:
Listen 80
ServerName localhost:80
If port 80 wasn’t free when you checked using XAMPP before, change the port number to one that’s available. Then, save your changes.
Return to the control panel and start the Apache web server (that we temporarily stopped before). Now, you can visit “http://localhost:8080” in your web browser to check whether the error message has cleared.
4. Make Sure the Application is Running Properly
Another reason why you might be seeing “Localhost Refused to Connect” is if the Apache web server isn’t running. Therefore, it’s useful to check the status of the server.
The command you’ll use depends on the distribution. For example, for Debian or Ubuntu, run the following command prompt:
$ sudo systemctl status apache2
This commences a status check that should tell you whether or not the server is active. If the server has stopped, you may need to restart it or reinstall the application.
5. Update Your Browser Settings
All browsers have their own settings and configurations, so it could be the case that your browser is causing the “Localhost Refused to Connect” error. We recommend trying to access localhost using a different browser to see whether that is in fact the issue.
The most common reason for browser connection failures is that the HTTP web address gets automatically rerouted to its HTTPS equivalent. The problem occurs when the target website (e.g. your local application) doesn’t have a valid SSL certificate.
If you don’t intend to purchase or update your SSL certificate, the only way to clear the error is to change your browser settings. For Google Chrome users, you can enter “chrome://net-internals/#hsts” into the search bar.
Locate the Delete domain security policies section:
Here, enter “localhost” in the box and click on Delete. Then, restart the browser and see if you can reach localhost now.
While you’re updating your browser settings, it’s also a good idea to clear the cache data and cookies since this can also cause connectivity issues. In Google Chrome, click on the three dots to the right of the browser to open the main menu.
Then, go to Delete browsing data and check the box(es) next to the data you want to delete:
Finally, confirm your choice by clicking on the Delete data button.
Conclusion
When testing plugins, troubleshooting issues, or running updates, many people prefer to use a local environment that doesn’t impact the live website. However, it isn’t uncommon to encounter connection issues that prevent you from accessing the local web server.
To recap, here are five ways to fix the “Localhost Refused to Connect” error:
- Temporarily disable your firewall.
- Flush your DNS.
- Verify the port number.
- Make sure the application is running.
- Update your browser settings.
Although localhost is useful for web development tasks, you’ll need a live web server when you’re ready to share your work with the world. NameHero offers a range of powerful web hosting plans, which come with a free SSL certificate, daily backups, LiteSpeed caching, and 24/7 support. Check out our packages today!
Sophia is a staff writer at WordCandy.co, where she produces quality blog content for WordPress plugin and theme developers, hosting providers, website development and design agencies, and other online businesses.
Leave a Reply