为什么不能在多个网站之间共享的现有端口上绑定绑定?

问题描述 投票:-1回答:1

我正在尝试将网站部署到远程计算机(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 binding azure-devops azure-pipelines-release-pipeline release-management
1个回答
0
投票

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

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

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

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

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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.