IIS 管理器错误 - 无法绑定到 [::]:80 的底层传输。进程无法访问该文件,因为
Posted
技术标签:
【中文标题】IIS 管理器错误 - 无法绑定到 [::]:80 的底层传输。进程无法访问该文件,因为【英文标题】:IIS Manager Error - Unable to bind to the underlying transport for [::]:80.The process cannot access the file because 【发布时间】:2018-07-13 04:34:46 【问题描述】:我知道这个问题已在多个论坛中提出,并且有多个版本的答案。不幸的是,这些答案都没有帮助我解决我的问题。
我建立了一个 Windows Server 2016 的 AWS EC2 实例并安装了 IIS、MSMQ、Windows Process Activation Service 和其他一些东西。当我打开我的 IIS 管理器时,我注意到“默认网站”已停止并且当我尝试启动它时,我收到错误“该进程无法访问该文件,因为它正在被另一个进程使用(HRESULT 异常:0x80070020)”。尝试再挖掘一点,在我的事件查看器中发现了这两个异常:
无法绑定到 [::]:80 的底层传输。 IP Listen-Only 列表可能包含对该机器上可能不存在的接口的引用。数据字段包含错误号。
万维网发布服务(WWW 服务)没有为站点 1 注册 URL 前缀 http://:80/SmsHandler。该站点已被禁用。数据字段包含错误号。*
在网上搜索了更多关于这个问题的文章,我发现超过 95% 的文章说可能与 IIS 冲突并使用端口 80 和 443 的潜在应用程序可能是 Skype.. 但我不在我的服务器上安装了 SKYPE..
我运行了“netstat -aon”命令,发现:
C:\Windows\system32>netstat -aon | findstr :80
TCP 169.254.170.2:80 0.0.0.0:0 监听 1164
按照其他在线文章中提到的内容。我试图在我的任务管理器中追踪 PID - 1164,发现它的“服务主机 - 本地系统”进程运行了 15 个系统服务。没有我可以杀死该进程以使我的 IIS 工作的方式..
然后我尝试更改我的 IIS 中的绑定以在不同于 80 的端口上侦听,并且能够启动并运行它。但我不希望 IIS 在 80 以外的任何其他端口上运行,因为我不'不希望用户每次访问网站时都在 URL 中指定端口..
我现在在这里缺乏想法。任何建议将不胜感激。
谢谢!
【问题讨论】:
运行 Jexus 管理器并查看 HTTP API 页面,jexusmanager.com/en/latest/tutorials/… 它可能会显示冲突的 URL 保留,您可以删除它以使 IIS 再次工作。 【参考方案1】:我遇到了类似的问题,但端口 80 没有。在我的情况下,这是因为 IP 地址 [::] 不允许在任何端口上侦听。将其添加到注册表中的 ListenOnly 列表可解决此问题。 从管理员命令提示符:
netsh http add iplisten ipaddress=::
来自this thread。
【讨论】:
【参考方案2】:找到了罪魁祸首。对我来说显然不是Skype(因为在大多数情况下都是如此),而是这个名为IP Helper的服务在端口80上运行并与IIS冲突。我发现的方法是,我检查了在服务主机的 PID 下运行的所有服务 - 本地系统(在我的情况下为 1164)并开始一次停止它们,然后查看 IIS 是否开始工作。只是想关闭此线程。如果其他人遇到同样的问题,希望这会有所帮助。
【讨论】:
【参考方案3】:我安装了 VMware Workstation,解决方法是:“VMware -> 编辑 -> 首选项 -> 共享虚拟机 -> “禁用共享”。
【讨论】:
以上是关于IIS 管理器错误 - 无法绑定到 [::]:80 的底层传输。进程无法访问该文件,因为的主要内容,如果未能解决你的问题,请参考以下文章