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


98

它运行在Windows Server 2008上,几个月前就可以使用。我现在刚刚再次使用该服务器进行VS的一些开发工作。

这是一个实时网络服务器,用于提供一些测试站点。

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

尝试通过localhost:xxxxIISExpress 启动时启动任何站点(使用配置中的实际端口号访问不同的站点):

This webpage is not available

ERR_CONNECTION_REFUSED

我已经读过几天了,因为我读过其他人也遇到过类似的问题,尝试了我读过的大多数内容,包括将managedruntimeversion.net 4.5的“ v4.0” 更改为“ v4.0.30319”(我从来没有必须先执行此操作)并禁用日志记录模块(此处提供所有建议)。

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

我已经WebApplication尽力重新安装IIS Express和Visual Studio2013。我还创建了一个全新的网站来尝试解决此问题(简单且没有其他复杂的绑定)。

当我启动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

提琴手捕捉

我已经从IE的LAN连接部分中删除了所有代理设置,在此之前,我在VS中出现红色x弹出窗口,表明IISExpress无法启动

SSL与非SSL无关。

我安装了TFS服务器-如果有一些奇怪的绑定干扰了,请卸载它。

我尝试多次删除IISExpress config / settings文件夹。

当前的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


Answers:


100

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

项目属性→Web→服务器→项目地址:

在此处输入图片说明

Create Virtual Directory更改端口号后,不要忘记单击,或在创建虚拟目录的提示中回答“是”!(感谢康纳

注意:我有点不愿意将其发布为答案,因为我不知道问题是什么或引起问题的原因,但是我遇到了类似的问题,并且更改端口号对我来说很有效。我只是按照建议在建议中发布此内容,该评论同样适用于其他人。

就我而言,似乎与我使用的特定端口号冲突,因此我改用了另一个端口,然后我的站点突然弹出!我不确定这对于旧的端口号意味着什么,或者我是否能够再次使用它。也许有人比我本人更懂事。


1
这对我有用-而不是像本答案stackoverflow.com/questions/7227845/…
Don Cheadle

这对我有用。更改端口号后,系统提示我更改虚拟目录,该目录以某种方式更改为不正确的。
GraehamF '16

这也对我有用。不知道怎么回事。我停止了IIS Express,并且在下次运行时,仅出现错误。
约瑟夫·费里斯

1
更改端口号后,请务必单击“创建虚拟目录”!
康纳·威廉姆斯

今天又发生在我身上!:/虽然我很高兴我的建议可以帮助人们,但我当然希望我能弄清楚出了什么问题。慢慢在此处浏览可用的端口号:P
sǝɯɐſ

36

感谢所有的答案。我尝试了所有这些,但没有一个对我有用。起作用的是从.vs文件夹(位于项目/解决方案的文件夹中)删除applicationhost.config并创建一个新的虚拟目录(“项目属性”>“ Web”>“创建虚拟目录”)。希望这会对其他人有所帮助。


3
当我在VS2013中打开VS2015解决方案并使用了一段时间后,又回到VS2015时,遇到了同样的问题。删除applicationhost.config即可解决。
Gary.Ray

在我的情况下,applicationhost.config和重新启动Visual Studio导致“项目加载失败”。那时我什至无法访问项目属性。
亚历克斯(Alex)

34

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

解决问题的步骤:

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

netsh http show iplisten

如果您看到类似下面的内容,则该解决方案可能无济于事。

IP侦听列表中显示的IP地址:

0.0.0.0

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

  • 以提升的命令终端顺序运行以下shell命令

netsh http删除iplisten ipaddress = 11.22.33.44

netsh http添加iplisten ipaddress = 0.0.0.0

重置

  • (此处11.22.33.44是需要删除的实际IP)

现在,您的issexpress设置为侦听任何进入本地主机绑定的ping。


@Niraj Kumar Chauhan保存了当天的花絮!!救生员...不确定一开始如何删除0.0.0.0,但是将其重新添加即可解决该问题。
塞斯莱斯

经过七个小时的搜索,查找Power BI Report Server无法正常收听的原因:2秒钟的时间对其进行了修复。谢谢!我们现有的配置具有'::'而不是0.0.0.0; 这是不一样的,和/或如何改变?
MattV

嘿,行得通!在我的计算机上,第一个命令显示的IP地址为零,因此我只运行了“ add”命令和“ iisreset”命令。在那之后,我仍然需要重新部署我的项目并再次重新启动IIS,但是随后它起作用了。
Mathew Alden

20

我已经为我的机器修复了这个问题。也许它将为某些工作。也许不适合其他人,但这对我有用。

在IIS中,我必须将https的绑定添加到默认网站(或者,我想是您正在其下运行应用程序的网站)。

在此处输入图片说明

现在,从Visual Studio调试时,我的本地主机可以工作。


只是要注意,检查这是否是问题的方法只是将URL中的https更改为http,因为http绑定应该已经存在。
DubDub

这为我解决了。我怀疑当我告诉Visual Studio为我的dev IIS服务器构建第二个应用程序时,某些东西一定已经删除了第一个应用程序的绑定。
Mathew Alden

7

我有同样的问题。我尝试了以下步骤:

  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本地主机添加到C:\ Windows \ System32 \ drivers \ etc \ hosts
  5. 重新打开解决方案,然后单击[创建虚拟目录]
  6. 尝试运行=> ERR_CONNECTION_REFUSED
  7. 失败

它的工作原理:

  1. 关闭Visual Studio 2017
  2. 删除[solutionPath] .vs \ config \ applicationhost.config
  3. 启动“管理计算机证书”,然后在“个人”->“证书”中找到证书“ localhost” 在此处输入图片说明
  4. 删除该证书(风险自负)
  5. 启动控制面板\所有控制面板项目\程序和功能
  6. 找到“ IIS 10.0 Express”(或您自己的IIS Express版本)
  7. 点击“修复” 在此处输入图片说明
  8. 重新打开解决方案,然后单击[创建虚拟目录]
  9. 启动Web项目。
  10. 您将得到以下问题:在此处输入图片说明。点击“是”
  11. 您将得到以下问题:在此处输入图片说明。点击“是”
  12. 现在可以了。

6

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

这是我如何解决的情况:

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

之后,我可以运行我的应用程序而无需管理员权限。但这确实使从外部计算机浏览到我的应用程序的能力一团糟。现在对我来说足够接近。


谢谢,解决了我的问题。删除保留的URL后,重建项目,然后在没有Admin模式的情况下可以正常工作。
Parveen

5

就我而言,这是由于没有管理权限而启动IIS引起的。当我以管理员身份启动IIS并启动网站时,它工作正常


这是我的答案,尽管我不记得我第一次打开项目时就以管理员身份运行VS。
Stafford Williams

哦,是啊(拍打额头)
johntrepreneur

3

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


1

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

永久设置:

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

1

就我而言,我的同事更改了解决方案名称,以便在获得该项目的最新版本后,我使用IIS EXPRESS运行Web应用程序,然后ERR_CONNECTION_REFUSED在Google chrome中收到该消息。

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

  1. 关闭VS
  2. 删除.vs项目文件夹中的文件夹在此处输入图片说明

  3. 以管理员身份运行VS

  4. 打开调试> [您的应用程序]属性> Web

  5. 更改Project URL中的端口,不要忘记使用它,https 因为在我的情况下,当我使用http它时,它仍然无法正常工作。

  6. 请点击 Create virtual directory

  7. 使用IIS EXPRESS再次运行该应用程序。

  8. Web应用程序成功运行。

希望这些会有所帮助。


1

在启用SSL并使用浏览器中的地址后,我已经转到项目属性->调试来解决

在此处输入图片说明



0

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


0

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


0

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

因为标准不起作用,所以不得不做“高级”版本。我怀疑是在执行“内容设置”


0

我最近从另一台计算机复制源代码时遇到此问题。

->删除.vs文件夹(它是隐藏文件夹,因此请确保已启用“查看隐藏文件夹”选项)
->打开Visual Studio并构建您的项目。Visual Studio将根据当前系统配置创建新的.vs文件夹


0

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


0

这可能与患有此问题的某些人群有关……也许口味不同。

我在发布时强制执行https重定向。

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

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


0

我只是试图将IP与IIS绑定,但最终弄乱了IIS配置文件,为此我尝试了20多种解决方案,其中包括

  1. .vs文件删除项目解决方案
  2. IIS文件夹配置文件删除
  3. IIS文件夹删除
  4. VS2019更新
  5. VS2019维修
  6. 无数次机器和VS重新启动
  7. CMS上的各种命令
  8. 各种软件更新
  9. 各种端口变化

但是对别人也有用的是REPAIRIIS

Control Panel\Programs\Programs and Features

否则,你可以参考这个答案,以及

IIS10修复


0

确保禁用脚本调试

在此处输入图片说明

尽管尝试了上述一些建议,但我还是断断续续地收到此消息。禁用此功能后,调试网站就像梦一样。(想想我只是偶然地打开了它,或者也许是在前世)。


0

如果您使用的是“真实的” IIS,则在停止W3SVC(万维网发布)服务时,可能会发生这种情况。

应该看起来很明显,但是如果您不小心停止了该服务或将其设置为手动,则可能会发生这种情况。

我知道标题说的是IIS express,但是即使使用-Express提示,google似乎也没有过滤掉Express,因此希望这对其他找到此页面而不是IIS特定页面的人有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.