Iis 为什么可以';我发布了一个绑定在多个网站共享的现有端口上的版本吗?

Iis 为什么可以';我发布了一个绑定在多个网站共享的现有端口上的版本吗?,iis,binding,azure-devops,azure-pipelines-release-pipeline,release-management,Iis,Binding,Azure Devops,Azure Pipelines Release Pipeline,Release Management,我正在尝试将网站部署到远程计算机(IIS Web deploy) 目标机器是一个专用的主机,我有几个网站托管 默认网站在80端口上具有绑定。 其他作为http运行的网站也分配了相同的端口,https有另一个端口,但也在所有网站之间共享 通过Azure DevOps部署时,我已设置默认绑定: http/All Unassigned:80: 我在部署时遇到一个错误: ##[error]Binding (http / * : 80 : ) already exists for a different

我正在尝试将网站部署到远程计算机(IIS Web deploy)

目标机器是一个专用的主机,我有几个网站托管

默认网站在80端口上具有绑定。 其他作为http运行的网站也分配了相同的端口,https有另一个端口,但也在所有网站之间共享

通过Azure DevOps部署时,我已设置默认绑定:

http/All Unassigned:80:
我在部署时遇到一个错误:

##[error]Binding (http / * : 80 : ) already exists for a different website ("site "default web site" (id:1,bindings:http/*:80:,state:started)"), change the port and retry the operation.
为什么每个发布定义/网站都需要另一个绑定


“所有未分配”实际上是什么意思?是否要指定更多端口以供选择?

您将面临预期错误,因为您正在使用默认绑定,并且尚未停止IIS上的默认网站,IIS也使用默认绑定

正如您所描述的,默认绑定只指定端口
80
,不指定主机

但是,IIS需要能够准确地确定它应该向哪个网站转发请求。站点的绑定应该彼此不同。如果两个站点具有相同的绑定,那么一次只能运行一个站点。否则将导致冲突。这就是为什么您会收到这样的错误消息

因此,通常情况下,此类错误消息的解决方案是更改端口、停止默认网站或添加主机名

如果您确实需要这些网站共享一个端口,恐怕唯一的解决方案是添加主机名:


您是否阅读了IIS如何处理端口和主机名分配的文档?