IIS 管理器错误 - 无法绑定到 [::]:80 的底层传输。进程无法访问文件,因为

Vin*_*nay 4 iis port80

我知道这个问题已经在多个论坛中被问到并且有多个版本的答案。不幸的是,这些答案都没有帮助我解决我的问题。

我建立了一个 Windows Server 2016 的 AWS EC2 实例并安装了 IIS、MSMQ、Windows Process Activation Service 和其他一些东西.. 当我打开我的 IIS 管理器时,我注意到“默认网站”已停止,当我尝试要启动它,我收到错误“该进程无法访问该文件,因为它正在被另一个进程使用(来自 HRESULT:0x80070020 的异常) ”。试图多挖一点,在我的事件查看器中发现了这两个异常:

无法绑定到 [::]:80 的底层传输。IP 只听列表可能包含对该机器上可能不存在的接口的引用。数据字段包含错误编号。

万维网发布服务(WWW 服务)没有为站点 1注册 URL 前缀 http:// :80/SmsHandler。该站点已被禁用。数据字段包含错误编号。*

我在网上搜索了更多关于这个问题的文章,其中超过 95% 的人说可能与 IIS 冲突并使用端口 80 和 443 的潜在应用程序可能是 Skype..但我没有安装 SKYPE在我的服务器上..

我运行了“netstat -aon”命令,发现了这个:

C:\Windows\system32>netstat -aon | 查找字符串:80

TCP 169.254.170.2: 80 0.0.0.0:0 聆听 1164

按照在线其他文章中提到的内容......我试图在我的任务管理器中追踪 PID - 1164,发现它的“服务主机 - 本地系统”进程有 15 个系统服务运行......我无法杀死该进程以使我的 IIS 工作..

然后我尝试更改 IIS 中的绑定以侦听与 80 不同的端口,并且能够启动并运行它。但我不希望 IIS 在 80 以外的任何其他端口上运行,因为我不想要用户每次访问网站时都要在 URL 中指定端口。

我现在在这里缺乏想法.. 任何建议将不胜感激。

谢谢!

Mar*_*ith 5

我遇到了类似的问题,但不是端口 80。在我的情况下,这是因为 IP 地址 [::] 不允许侦听任何端口。将其添加到注册表中的 ListenOnly 列表修复了该问题。从管理员命令提示符:

netsh http add iplisten ipaddress=::
Run Code Online (Sandbox Code Playgroud)

这个线程


Vin*_*nay 2

找到罪魁祸首了.. 对我来说,这显然不是 Skype(在大多数情况下都是这样),而是这个名为IP Helper 的服务运行在端口 80 上,并且与 IIS 冲突。我发现这一点的方法是,我检查了在服务主机 - 本地系统(在我的例子中为 1164)的 PI​​D 下运行的所有服务,并开始一次停止一个服务,看看 IIS 是否开始工作。关闭此线程。希望如果其他人遇到同样的问题,这会有所帮助。