为什么我不能在多个网站共享的现有端口上绑定发布?
Why can't I release with a binding on existing port that is shared between several websites?
我正在尝试将网站部署到远程计算机(IIS Web 部署)。
目标机器是我托管了几个网站的专用主机。
默认网站绑定了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.
为什么每个发布定义/网站都需要另一个绑定?
它的实际含义是什么 "All unassigned"?要我指定更多端口以供选择吗?
您遇到了预期的错误,因为您使用的是默认绑定并且没有停止 IIS 上的默认网站,该网站也使用默认绑定。
如您所述,默认绑定仅指定端口 80
而未指定主机。
但是,IIS 需要能够准确地确定它应该将请求转发到的网站。站点的绑定应该彼此不同。如果两个站点具有相同的绑定,则一次只能 运行 一个。否则会造成冲突。这就是您收到此类错误消息的原因。
所以,正常情况下,此类错误消息的解决方案是更改端口、停止默认网站或添加主机名。
如果你真的需要这些网站共享一个端口,恐怕唯一的解决办法就是添加一个主机名:
我正在尝试将网站部署到远程计算机(IIS Web 部署)。
目标机器是我托管了几个网站的专用主机。
默认网站绑定了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.
为什么每个发布定义/网站都需要另一个绑定?
它的实际含义是什么 "All unassigned"?要我指定更多端口以供选择吗?
您遇到了预期的错误,因为您使用的是默认绑定并且没有停止 IIS 上的默认网站,该网站也使用默认绑定。
如您所述,默认绑定仅指定端口 80
而未指定主机。
但是,IIS 需要能够准确地确定它应该将请求转发到的网站。站点的绑定应该彼此不同。如果两个站点具有相同的绑定,则一次只能 运行 一个。否则会造成冲突。这就是您收到此类错误消息的原因。
所以,正常情况下,此类错误消息的解决方案是更改端口、停止默认网站或添加主机名。
如果你真的需要这些网站共享一个端口,恐怕唯一的解决办法就是添加一个主机名: