How to solve ERR_CONNECTION_REFUSED when trying to connect to localhost running IISExpress - Error 502 (Cannot debug from Visual Studio)?

Visual StudioLocalhostIis Express

Visual Studio Problem Overview


This is running on Windows Server 2008 and used to work several months ago. I am just now using this server again for some dev work with VS.

This is live web server used to serve up a few test sites as well.

This came up when running Visual Studio, then launching my projects for debugging.

Trying to launch any site through localhost:xxxx when IISExpress has been launched (using actual port #'s in the config to access different sites):

This webpage is not available

ERR_CONNECTION_REFUSED

I have been at this for a few days already, as I have read others have had similar issues, tried most things I have read including changing the managedruntimeversion from "v4.0" to "v4.0.30319" for .net 4.5 (I have never had to do this before) and disabling the logging module (all suggestions found here).

There are only two entries in my hosts file that point to internal server IP addresses. No localhost related IP's or references.

I have gone as far as re-installing IIS Express, and Visual Studio 2013. I also created a brand new WebApplication site to try to resolve this (simple and no other complicated bindings).

When I spin up Fiddler, I see the following on the page:

[Fiddler] The socket connection to localhost failed. 
ErrorCode: 10061. 
No connection could be made because the target machine actively refused it 127.0.0.1:23162

Fiddler capture

I have removed all proxy settings from IE's LAN connection section, where before I was getting a red-x popup in VS indicating something like IISExpress could not launch.

This is not a matter of SSL vs non SSL.

I had TFS Server installed - uninstalled that in case there were some odd bindings that were interfering.

I tried deleting the IISExpress config/settings folder several times.

Current applicationhost.config contains:

<site name="WebApplication1" id="4">
                <application path="/" applicationPool="Clr4IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="C:\TFS-WorkRepository\Sandbox\WebApplication1\WebApplication1" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:23162:localhost" />
                </bindings>
            </site>
            <siteDefaults>
                <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
                <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
            </siteDefaults>
            <applicationDefaults applicationPool="Clr4IntegratedAppPool" />

I wish there was a tag for really-stuck.

Please suggest away, as I don't want to go as far as spinning up a new server.

-- UPDATE --

In the URL bar, when I enter the computer name or IP address :xxxx I get the ERR_CONNECTION_TIMED_OUT rather than ERR_CONNECTION_REFUSED.

Visual Studio Solutions


Solution 1 - Visual Studio

Try changing the port number in your project?

Project Properties → Web → Servers → Project Url:

enter image description here

Don't forget to click Create Virtual Directory, or reply "Yes" to the prompt for creating virtual directory after you change your port number! (Thanks Connor)

Note: I'm a little reluctant to post this as an answer, as I have no idea what the issue is or what caused it, but I had a similar issue, and changing the port number did the trick for me. I'm only posting this per the suggestion in the comments that this worked for someone else as well.

In my case, it seemed like something was conflicting with the specific port number I was using, so I changed to a different one, and my site popped right back up! I'm not sure what that means for the old port number, or if I'll ever be able to use it again. Maybe someone more knowledgeable than myself can chime in on this.

Solution 2 - Visual Studio

This issue may be because in the recent past you have used IP address binding in your application configuration.

Steps to Solve the issue:

  • Run below command in administrator access command terminal

> netsh http show iplisten

If you see some thing like below then this solution may not help you.

> IP addresses present in the IP listen to list: > ---------------------- > 0.0.0.0

If you see something different than 0.0.0.0 then try below steps to fix this.

  • Run following shell command in order with elevated command terminal

> netsh http delete iplisten ipaddress=11.22.33.44

> netsh http add iplisten ipaddress=0.0.0.0

> iisreset

  • (Here 11.22.33.44 is the actual IP that needs to be removed)

And now your issexpress is set to listen to any ping coming to localhost binding.

Solution 3 - Visual Studio

Thanks for all the answers. I tried all of them but none of them worked for me. What did work was to delete the applicationhost.config from the .vs folder (found in the folder of your project/solution) and create a new virtual directory (Project Properties > Web > Create Virtual Directory). Hope this will help somebody else.

Solution 4 - Visual Studio

I've just fixed this for my machine. Maybe it will work for some. Maybe not for others, but here is what worked for me.

In IIS, I had to add bindings for https to the default website (or, I suppose, the website you are running the app under).

enter image description here

Now my localhost works when debugging from Visual Studio.

Solution 5 - Visual Studio

I had the same problem. I tried these steps:

  1. Closed the Visual Studio 2017
  2. Removed the [solutionPath].vs\config\applicationhost.config
  3. Reopened the solution and clicked on [Create Virtual Directory]
  4. Tried to run => ERR_CONNECTION_REFUSED
  5. FAILED

Another try:

  1. Closed the Visual Studio 2017
  2. Removed the [solutionPath].vs\config\applicationhost.config
  3. Removed the .\Documents\IISExpress\config\applicationhost.config
  4. Reopened the solution and clicked on [Create Virtual Directory]
  5. Tried to run => ERR_CONNECTION_REFUSED
  6. FAILED

Another try:

  1. Closed the Visual Studio 2017
  2. Removed the [solutionPath].vs\config\applicationhost.config
  3. Removed the .\Documents\IISExpress\config\applicationhost.config
  4. Added 127.0.0.1 localhost to C:\Windows\System32\drivers\etc\hosts
  5. Reopened the solution and clicked on [Create Virtual Directory]
  6. Tried to run => ERR_CONNECTION_REFUSED
  7. FAILED

WHAT IT WORKED:

  1. Close the Visual Studio 2017
  2. Remove the [solutionPath].vs\config\applicationhost.config
  3. Start "Manage computer certificates" and Locate certificate "localhost" in Personal-> Certificates enter image description here
  4. Remove that certificate (do this on your own risk)
  5. Start Control Panel\All Control Panel Items\Programs and Features
  6. Locate "IIS 10.0 Express" (or your own IIS Express version)
  7. Click on "Repair" enter image description here
  8. Reopen the solution and clicked on [Create Virtual Directory]
  9. Start the web-project.
  10. You will get this question:enter image description here. Click "Yes"
  11. You will get this Question: enter image description here. Click "Yes"
  12. Now it works.

Solution 6 - Visual Studio

Sam's solution worked for me, but I didn't want to run as admin as a permanent solution.

This is how I solved it in my case:

  1. Run CMD as admin
  2. Type "netsh http show urlacl" and find the reserved url with the relevant port
  3. Type "netsh http delete urlacl url=YourReservedUrlHere"

Then I could run my app without the need for admin rights. But it did mess with the ability to browse to my app from an external computer. Close enough for me for now.

Solution 7 - Visual Studio

In my case it was caused by starting IIS with no administrative rights. When I launched IIS as admin and started the site it worked fine

Solution 8 - Visual Studio

In my case, it was caused by an infinite loop/stack overflow.

Solution 9 - Visual Studio

In my case, my co-worker changed the solution name so that after I get latest version of the project, I run my web application with IIS EXPRESS, then I got the message ERR_CONNECTION_REFUSED in my google chrome.

After I try all the solution that I find on the internet, finally I solved the problem with these steps :

  1. Close VS

  2. Delete the .vs folder in the project folder enter image description here

  3. Run As Administrator VS

  4. Open Debug > [Your Application] Properties > Web

  5. Change the port in Project URL and don't forget using https because in my case, when I'm using http it still did not work.

  6. Click Create virtual directory

  7. Run the application again using IIS EXPRESS.

  8. And the web application ran successfully.

Hope these helps.

Solution 10 - Visual Studio

I solved this problem by starting Visual Studio with Run as administrator. This is also required if you want to publish your project to the local IIS.

To set this permanently:-

  1. Right-click on the Visual Studio icon
  2. Select Properties
  3. Click Advanced
  4. Ensure Run as administrator is checked-on
  5. Click on OK all the way out.
  6. Start Visual Studio, load your project and start debugging

Solution 11 - Visual Studio

I've solved by going to Project Properties -> Debug, after enable SSL and use the address in your browser

enter image description here

Solution 12 - Visual Studio

Rebuild All worked for me. VS2013, IIS Express.

Solution 13 - Visual Studio

Make sure you have a start page specified, as well. Right click on the .aspx page you want to use as your start page and choose "Set as start page"

Solution 14 - Visual Studio

A simple work around(it worked for me) is use the IP address instead of localhost. This should be fine for your development tasks.

Solution 15 - Visual Studio

I tried a lot of methods on Chrome but the only thing that worked for me was "Clear browsing data"

Had to do the "advanced" version because standard didn't work. I suspect it was "Content Settings" that was doing it.

Solution 16 - Visual Studio

I recently encounter this issue when I copy the source code from another machine.

-> Delete the .vs folder (it is hidden folder, so make sure you have enable view hidden folder option)
-> open visual studio and build your project. Visual studio will create new .vs folder as per current system configuration

Solution 17 - Visual Studio

While probably not related to your problem, I had the same issue today. As it turns out, I had enabled an URL Rewrite module to force my site to use HTTPS instead of HTTP and on my production environment, this worked just fine. But on my development system, where it runs as an application within my default site, it failed...
As it turns out, my default site had no binding for HTTPS so the rewrite module would send me from HTTP to HTTPS, yet nothing was listening to the HTTPS port...
There's a chance that you have this issue for a similar reason. This error seems to occur if there's no proper binding for the site you're trying to access...

Solution 18 - Visual Studio

This may be relevant to a certain subset of people with this issue...perhaps in a different flavor.

I was forcing an https redirect on RELEASE.

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
  filters.Add(new HandleErrorAttribute());
  #if !DEBUG
  filters.Add(new RequireHttpsAttribute());
  #endif    
}

And there wasn't https enabled on my iis express. Working correctly on DEBUG

Solution 19 - Visual Studio

I was simply trying to Bind IP with IIS but ended up messing with IIS config files I literally tried 20+ solutions for this, which includes

  1. .vs file deletion of a project solution
  2. IIS folder config file deletion
  3. IIS folder deletion
  4. VS2019 Updation
  5. VS2019 repair
  6. Countless times machine and VS restart
  7. various commands on CMS
  8. various software updates
  9. Various ports change

but what worked which may work for someone else as well was to REPAIR IIS from

Control Panel\Programs\Programs and Features

Else you can refer to this answer as well

IIS10 Repair

Solution 20 - Visual Studio

Ensure Script Debugging is disabled

enter image description here

I was getting this intermittently despite having tried several of the above suggestions. As soon as I disabled this, my debugging my site worked like a dream. (Think I'd only turned it on by accident, or perhaps in a previous life).

Solution 21 - Visual Studio

If you are using "real" IIS, this can occur if the W3SVC (World Wide Web Publishing) service is stopped.

Should seem obvious but if you accidentally stopped the service or have it set to manual this could happen to you.

I know the title says IIS express however google doesn't seem to filter out the express even when using a -Express hint so hopefully this helps someone else who found this page instead of an IIS-specific one.

Solution 22 - Visual Studio

I initially tried everything here in this post so far EXCEPT for repairing IIS 10 Express and none of it worked for me. I didn't repair IIS 10 Express because when you install it via visual studio it wants to repair via Visual Studio and not via the programs and features.

I found if I go and repair visual studio, it wants to reset everything (e.g. your extensions and customizations) which seems like overkill.

If you try to uncheck IIS 10 Express from Visual Studio Features it threatens to remove all of the components related to it (e.g. ASP.NET). This also seemed like overkill.

In the end, I got it working by going to Tools -> Get Tools and Features (inside Visual Studio 2019), unchecking ASP.NET and web development AND THEN immediately rechecking it again, then clicking OK. This caused it to do a repair just on THOSE ASP.NET and web development components.

Note: I think I just took the defaults for the ASP.NET and web development workload so unchecking and rechecking might clear some components that are not there by default.

It didn't remove anything or reset the settings from what I can tell but I can now access my web api via localhost as expected.

Solution 23 - Visual Studio

For me, the ERR_CONNECTION_REFUSED error was raised because an application port was in use. If you want a more specific exception - run a website without debugging (Ctrl+F5), after that IIS Express show me such exception:

enter image description here

This usually happens after installing such software which reserve some ports. For example Docker or Hyper-V. My algorithm, for changing ports (virtual directory):

  1. Turn off Visual Studio
  2. Delete .vs/%PROJECT_NAME%/applicationhost.config (Visual Studio create it automatically)
  3. Run Visual Studio
  4. Change the port in project propertiesenter image description here
  5. Hit Create Virtual Directory
  6. Save project

It's necessary to shut down Visual Studio because applicationhost.config don't hot reloaded during application run. Also removing applicationhost.config remove old Virtual Directories witch have incompatible data.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionElHaixView Question on Stackoverflow
Solution 1 - Visual StudiosǝɯɐſView Answer on Stackoverflow
Solution 2 - Visual StudioNiraj Kumar ChauhanView Answer on Stackoverflow
Solution 3 - Visual StudioAnnie LagangView Answer on Stackoverflow
Solution 4 - Visual StudioStuartView Answer on Stackoverflow
Solution 5 - Visual StudioLucianView Answer on Stackoverflow
Solution 6 - Visual StudioRoyBSView Answer on Stackoverflow
Solution 7 - Visual StudiosamView Answer on Stackoverflow
Solution 8 - Visual StudioJoshView Answer on Stackoverflow
Solution 9 - Visual StudioSatria JanakaView Answer on Stackoverflow
Solution 10 - Visual StudiojoehannaView Answer on Stackoverflow
Solution 11 - Visual StudioWiseTapView Answer on Stackoverflow
Solution 12 - Visual StudioJohnWrensbyView Answer on Stackoverflow
Solution 13 - Visual StudioGlade MellorView Answer on Stackoverflow
Solution 14 - Visual Studioraj240View Answer on Stackoverflow
Solution 15 - Visual StudioGrowthCodeView Answer on Stackoverflow
Solution 16 - Visual StudioUbiquitous DevelopersView Answer on Stackoverflow
Solution 17 - Visual StudioWim ten BrinkView Answer on Stackoverflow
Solution 18 - Visual StudioPinchView Answer on Stackoverflow
Solution 19 - Visual StudioChameleonView Answer on Stackoverflow
Solution 20 - Visual StudiohnodrogView Answer on Stackoverflow
Solution 21 - Visual StudioJustinView Answer on Stackoverflow
Solution 22 - Visual StudioMike CheelView Answer on Stackoverflow
Solution 23 - Visual StudioVladView Answer on Stackoverflow