Iis 在TFS 2015中将多个HTTPS站点部署到单个主机时出现问题
我正在尝试将多个网站部署到一台运行TFS 2015 IIS的主机上。我正在尝试让所有站点使用“需要服务器名称指示”选项,以便它们都可以在相同的IP地址下运行。(如果我手动设置所有内容,则此设置在IIS中运行良好——我的问题来自TFS 2015的部署) 部署链中的第一个站点工作正常,但任何后续站点似乎都会失败,并出现以下错误:Iis 在TFS 2015中将多个HTTPS站点部署到单个主机时出现问题,iis,azure-devops,tfs-2015,ms-release-management,Iis,Azure Devops,Tfs 2015,Ms Release Management,我正在尝试将多个网站部署到一台运行TFS 2015 IIS的主机上。我正在尝试让所有站点使用“需要服务器名称指示”选项,以便它们都可以在相同的IP地址下运行。(如果我手动设置所有内容,则此设置在IIS中运行良好——我的问题来自TFS 2015的部署) 部署链中的第一个站点工作正常,但任何后续站点似乎都会失败,并出现以下错误: System.Exception: SSL Certificate add failed, Error: 183 Cannot create a file when th
System.Exception: SSL Certificate add failed, Error: 183 Cannot create a file when that file already exists.
我部署的每个站点都有一个不同的SSL证书,我已经将它们正确地导入到本地Machine\Personal存储中
下面显示了突出显示“IIS Web应用程序管理”任务的发布定义的屏幕截图
关于如何在发布定义中解决此错误,以便无需手动干预就可以干净地部署,有什么建议吗
我想我可以尝试的一件事是从PowerShell执行所有IIS管理步骤,但我希望能够更充分地使用这些工具,而不是滚动新脚本来执行它们本应能够执行的操作
非常感谢您的帮助。如果您尝试将证书绑定到已绑定到此证书或其他证书的端口,则会显示错误消息 您可以尝试为站点设置不同的端口 如果不影响站点,还可以尝试添加步骤(命令行/Powershell步骤)以在下一个部署步骤之前删除现有绑定 例如: 请参考以下条款删除绑定:
感谢您的回复--我希望保留绑定并使用服务器名称标识(SNI),因此我在下面找到的解决方案可以在不删除绑定的情况下工作。我收到了此错误消息,问题是我在IIS应用程序管理任务中使用了错误的SSL证书指纹。我克隆了环境,没有更新值。
$> netsh http delete sslcert ipport:1.1.1.1:443
Import-Module WebAdministration
if ($null -eq (Get-WebBinding | Where-Object {$_.BindingInformation -eq "*:443:iddev.mydomain.com"}))
{
New-WebBinding -Name "Identity-B2B" -Port 443 -Protocol "https" -HostHeader "iddev.mydomain.com" -SslFlags 1
New-Item -Path "IIS:\SslBindings\!443!iddev.mydomain.com" -Thumbprint "88E811B7A9417DACAAAAAAAAAA1C36AA0BA238FF1E0F" -SSLFlags 1
}
if ($null -eq (Get-WebBinding | Where-Object {$_.BindingInformation -eq "*:443:iddev.myotherdomain.com"}))
{
New-WebBinding -Name "Identity-B2C" -Port 443 -Protocol "https" -HostHeader "iddev.myotherdomain.com" -SslFlags 1
New-Item -Path "IIS:\SslBindings\!443!iddev.myotherdomain.com" -Thumbprint "BE38195A2BBBBBBBBBBBBBBB1C2AB5762C9" -SSLFlags 1
}