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

ElH*_*aix 84 localhost visual-studio iis-express

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

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

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

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

This webpage is not available

ERR_CONNECTION_REFUSED
Run Code Online (Sandbox Code Playgroud)

我已经在这几天了,因为我已经读过其他人有过类似的问题,尝试过我读过的大部分内容,包括将managedruntimeversion.v4.0 更改为"v4.0.30319".我从来没有必须在此之前执行此操作)并禁用日志记录模块(此处的所有建议).

我的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
Run Code Online (Sandbox Code Playgroud)

提琴手捕获

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

这不是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" />
Run Code Online (Sandbox Code Playgroud)

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

请建议离开,因为我不想开始新的服务器.

- 更新 -

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

sǝɯ*_*ɯɐſ 89

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

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

在此输入图像描述

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

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

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


Ann*_*ang 34

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

  • 当我在VS2013中打开一个VS2015解决方案并在其中工作了一段时间后我遇到了同样的问题然后又回到了VS2015.删除applicationhost.config解决了它. (2认同)

小智 26

此问题可能是因为最近您在应用程序配置中使用了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绑定.


Stu*_*art 13

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

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

在此输入图像描述

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


Luc*_*ian 8

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

  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. 启动网络项目。
  10. 你会得到这个问题:在此处输入图片说明. 点击“是”
  11. 你会得到这个问题: 在此处输入图片说明. 点击“是”
  12. 现在它起作用了。


Roy*_*yBS 6

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

这就是我在我的情况下解决它的方法:

  1. 以管理员身份运行 CMD
  2. 输入“netsh http show urlacl”,找到对应端口的保留url
  3. 输入“netsh http delete urlacl url=YourReservedUrlHere”

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


sam*_*sam 5

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