尝试连接到运行IISExpress的localhost时如何解决ERR_CONNECTION_REFUSED - 错误502(无法从Visual Studio调试)?

问题描述 投票:72回答:16

这是在Windows Server 2008上运行的,几个月前就可以运行了。我刚刚再次使用这个服务器与VS一起开发工作。

这是用于提供一些测试站点的实时Web服务器。

这在运行Visual Studio时启动,然后启动我的项目以进行调试。

当IISExpress启动时,尝试通过localhost:xxxx启动任何站点(使用配置中的实际端口#来访问不同的站点):

This webpage is not available

ERR_CONNECTION_REFUSED

我已经在这里待了几天,因为我已经读过其他人有类似的问题,尝试过most things我已阅读包括将managedruntimeversion从“v4.0”更改为“v4.0.30319”for .net 4.5(我从来没有之前必须这样做)并禁用日志记录模块(所有建议找到here)。

我的hosts文件中只有两个条目指向内部服务器IP地址。没有localhost相关的IP或参考。

我已经完成了重新安装IIS Express和Visual Studio 2013.我还创建了一个全新的WebApplication站点来尝试解决这个问题(简单而没有其他复杂的绑定)。

当我旋转Fiddler时,我在页面上看到以下内容:

[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

我已经从IE LAN连接部分删除了所有代理设置,之前我在VS中获得了一个red-x弹出窗口,表明IIS Express无法启动。

这不是SSL与非SSL的问题。

我安装了TFS服务器 - 卸载了,以防有一些奇怪的绑定干扰。

我尝试多次删除IISExpress配置/设置文件夹。

当前的applicationhost.config包含:

<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" />

我希望really-stuck有一个标签。

请建议离开,因为我不想转向新的服务器。

- 更新 -

在URL栏中,当我输入计算机名称或IP地址时:xxxx我得到ERR_CONNECTION_TIMED_OUT而不是ERR_CONNECTION_REFUSED

visual-studio localhost iis-express
16个回答
83
投票

尝试更改项目中的端口号?

项目属性→Web→服务器→项目URL:

enter image description here

不要忘记单击Create Virtual Directory,或在更改端口号后回复“是”以创建虚拟目录! (谢谢Connor

注意:我有点不愿意发布这个作为答案,因为我不知道问题是什么或是什么导致它,但我遇到了类似的问题,更改端口号对我来说是个窍门。我只是根据评论中的建议发布这个,这也适用于其他人。

在我的情况下,似乎有些东西与我使用的特定端口号相冲突,所以我改为另一个,我的网站立即弹出!我不确定这对旧的端口号是什么意思,或者我是否能够再次使用它。也许比我更了解情报的人可以对此表示赞同。


0
投票

Rebuild All为我工作。 VS2013,IIS Express。


0
投票

在我的情况下,我的同事更改了解决方案名称,以便在我获得项目的最新版本后,我使用IIS EXPRESS运行我的Web应用程序,然后在我的谷歌浏览器中收到消息ERR_CONNECTION_REFUSED

在我尝试了我在互联网上找到的所有解决方案之后,最后我通过以下步骤解决了问题:

  1. 关闭VS.
  2. 删除项目文件夹.vs中的enter image description here文件夹
  3. 以管理员身份运行VS.
  4. 打开调试> [您的应用程序]属性> Web
  5. 更改项目URL中的端口,不要忘记使用https,因为在我的情况下,当我使用http时,它仍然无法正常工作。
  6. 点击Create virtual directory
  7. 使用IIS EXPRESS再次运行该应用程序。
  8. 并且Web应用程序成功运行。

希望这些有帮助。


0
投票

确保您还指定了起始页面。右键单击要用作起始页的.aspx页面,然后选择“设置为起始页”


0
投票

一个简单的解决方法(它对我有用)是使用IP地址而不是localhost。这应该适合您的开发任务。


0
投票

我有同样的问题。我尝试了这些步骤:

  1. 关闭Visual Studio 2017
  2. 删除了[solutionPath] .vs \ config \ applicationhost.config
  3. 重新打开解决方案并单击[创建虚拟目录]
  4. 试图运行=> ERR_CONNECTION_REFUSED
  5. 失败

另一个尝试:

  1. 关闭Visual Studio 2017
  2. 删除了[solutionPath] .vs \ config \ applicationhost.config
  3. 删除了。\ Documents \ IISExpress \ config \ applicationhost.config
  4. 重新打开解决方案并单击[创建虚拟目录]
  5. 试图运行=> ERR_CONNECTION_REFUSED
  6. 失败

另一个尝试:

  1. 关闭Visual Studio 2017
  2. 删除了[solutionPath] .vs \ config \ applicationhost.config
  3. 删除了。\ Documents \ IISExpress \ config \ applicationhost.config
  4. 将127.0.0.1 localhost添加到C:\ Windows \ System32 \ drivers \ etc \ hosts
  5. 重新打开解决方案并单击[创建虚拟目录]
  6. 试图运行=> ERR_CONNECTION_REFUSED
  7. 失败

它的工作原理:

  1. 关闭Visual Studio 2017
  2. 删除[solutionPath] .vs \ config \ applicationhost.config
  3. 启动“管理计算机证书”并在Personal-> Certificates enter image description here中找到证书“localhost”
  4. 删除该证书(自行承担风险)
  5. 启动控制面板\所有控制面板项目\程序和功能
  6. 找到“IIS 10.0 Express”(或您自己的IIS Express版本)
  7. 点击“修复”enter image description here
  8. 重新打开解决方案并单击[创建虚拟目录]
  9. 启动Web项目。
  10. 你会得到这个问题:enter image description here。点击“是”
  11. 你会得到这个问题:enter image description here。点击“是”
  12. 现在它有效。

0
投票

我在Chrome上尝试了很多方法,但唯一对我有用的是“清除浏览数据”

不得不做“高级”版本,因为标准不起作用。我怀疑是“内容设置”正在这样做。


0
投票

当我从另一台机器复制源代码时,我最近遇到了这个问题。

- >删除.vs文件夹(它是隐藏文件夹,因此请确保您具有启用视图隐藏文件夹选项) - >打开visual studio并构建你的项目。 Visual Studio将根据当前系统配置创建新的.vs文件夹


0
投票

虽然可能与您的问题没有关系,但我今天遇到了同样的问题。事实证明,我已经启用了一个URL Rewrite模块来强制我的网站使用HTTPS而不是HTTP,并且在我的生产环境中,这工作得很好。但是在我的开发系统中,它作为我的默认站点中的应用程序运行,它失败了...... 事实证明,我的默认站点没有绑定HTTPS,因此重写模块会将我从HTTP发送到HTTPS,但没有任何内容正在侦听HTTPS端口...... 出于类似的原因,你有可能遇到这个问题。如果您尝试访问的网站没有正确的绑定,则会出现此错误...


0
投票

这可能与这个问题的某个人群有关......也许是不同的风格。

我在RELEASE上强制进行https重定向。

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

并且我的iis express上没有启用https。在DEBUG上正常工作


34
投票

感谢所有的答案。我尝试了所有这些,但没有一个适合我。从.vs文件夹(在项目/解决方案的文件夹中找到)中删除applicationhost.config并创建新的虚拟目录(项目属性> Web>创建虚拟目录)的工作原理是什么。希望这会对别人有所帮助。


24
投票

此问题可能是因为最近您在应用程序配置中使用了IP地址绑定。

解决问题的步骤:

  • 在管理员访问命令终端中运行以下命令

netsh http show iplisten

如果您看到下面的内容,那么此解决方案可能对您没有帮助。

IP侦听列表中的IP地址:

0.0.0.0

如果您看到的内容与0.0.0.0不同,请尝试以下步骤来解决此问题。

  • 在提升的命令终端中连续运行这些命令

netsh http delete iplisten ipaddress = 11.22.33.44(其中11.22.33.44是需要删除的实际IP)

netsh http add iplisten ipaddress = 0.0.0.0

IISRESET

现在你的issexpress被设置为监听任何ping到localhost绑定。


10
投票

我刚刚为我的机器修好了。也许它适用于某些人。也许不适合其他人,但这对我有用。

在IIS中,我不得不将https的绑定添加到默认网站(或者,我想,您正在运行该应用程序的网站)。

enter image description here

现在我的localhost在从Visual Studio调试时工作。


4
投票

在我的情况下,它是由没有管理权限的IIS启动引起的。当我以管理员身份启动IIS并启动该站点时,它工作正常


3
投票

Sam的解决方案对我有用,但我不想以管理员身份运行永久解决方案。

这是我在我的案例中解决它的方式:

  1. 以管理员身份运行CMD
  2. 输入“netsh http show urlacl”并找到带有相关端口的保留URL
  3. 输入“netsh http delete urlacl url = YourReservedUrlHere”

之后,我可以运行我的应用程序,而无需管理员权限。但它确实搞砸了从外部计算机浏览我的应用程序的能力。现在对我来说足够近了。


2
投票

就我而言,它是由无限循环/堆栈溢出引起的。


1
投票

我通过使用Run as administrator启动Visual Studio解决了这个问题。如果要将项目发布到本地IIS,也需要这样做。

要永久设置: -

  1. 右键单击Visual Studio图标
  2. 选择Properties
  3. 点击Advanced
  4. 确保Run as administrator已签入
  5. 点击OK一路走来。
  6. 启动Visual Studio,加载项目并开始调试

1
投票

在启用SSL并使用浏览器中的地址后,我已经解决了Project Proprieties - > Debug

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.