srs*_*ate 11 ssl tfs winrm azure-pipelines-release-pipeline
我正在使用VSTS部署到Azure VM.在我的发行版定义中,我在尝试复制文件时收到以下错误:
SSL证书包含与主机名不匹配的公用名(CN).有关详细信息,请参阅about_Remote_Troubleshooting帮助主题.要修复与WinRM连接相关的问题,请在任务中选择"启用复制先决条件"选项.如果已设置,并且目标虚拟机由负载平衡器支持,请确保为目标端口配置了入站NAT规则(5986).仅适用于ARM VM.欲了解更多信息,请参阅 https://aka.ms/azurefilecopyreadme };]
我没有使用负载均衡器.我注意到,只要我在Azure门户中为我的VM添加DNS名称标签(在公共IP设置中),就会出现问题.
srs*_*ate 27
问题不在于主机文件或构建代理,而在于TARGET计算机上的服务器证书.对我来说,当我遇到问题时,我正在使用VSTS部署到Azure VM,但对于现场计算机,解决方案仍然是相同的.
对于Azure VM部署,当您为公共IP 创建没有DNS名称标签的VM ,然后添加一个(类似的example.centralus.cloudapp.azure.com)时会出现问题.如果更改DNS名称标签,也会发生此问题.
您需要检查连接机器的方式.以前,它使用Azure VM IP地址工作得很好.现在,VSTS开始尝试使用,example.centralus.cloudapp.azure.com:5986因为我最近添加了DNS名称标签.我们称之为目标机器地址.
在目标计算机上,以管理员身份打开PowerShell或命令提示符,然后输入命令' winrm e winrm/config/listener'.它应该返回两个侦听器,一个用于HTTP,另一个用于HTTPS(如果没有为HTTPS列出,请不要担心我们稍后会添加一个).请特别注意HTTPS侦听器的主机名.如果这与我们之前找到的目标机器地址不匹配,那就是导致错误的原因.该CertificateThumbprint对应于计算机上的服务器证书.
要查看这些证书,请在PowerShell或命令提示符下键入mmc并按Enter键.转到"文件">"添加/删除管理单元...".选择"证书",然后单击" 添加".在该对话框中,选择"计算机帐户",然后点击下一步,然后完成.在"证书">"个人">"证书"下,您将看到WinRM配置使用的证书.此处的自签名证书被视为测试证书,因为它们不受官方证书颁发机构的支持.我们需要创建一个代表您要使用的目标机器地址的地址.
您还可以在" 服务器证书 " 下的IIS中查看证书.
确保您知道要使用哪个地址连接到本机.这是目标机器地址.
在目标计算机上,以管理员身份打开PowerShell.输入以下命令.
New-SelfSignedCertificate -DnsName WhateverTargetMachineAddressYouNeed -CertStoreLocation Cert:\LocalMachine\My
Run Code Online (Sandbox Code Playgroud)
这将为您的目标地址创建一个新的服务器证书,其有效期为一年.
接下来,我们要为HTTPS传输类型重新创建WinRM侦听器以使用新证书.打开IIS并查看Web服务器的服务器证书.你应该看到你刚刚创建的那个.右键单击它并选择"查看...".在" 详细信息"选项卡中,复制证书的" 指纹 ".如果您愿意,也可以从mmc执行此操作.
在PowerShell中一次输入以下命令.
winrm delete winrm/config/listener?Address=*+Transport=HTTPS
Run Code Online (Sandbox Code Playgroud)
然后:
winrm create winrm/config/listener?Address=*+Transport=HTTPS '@{Hostname="WhateverTargetMachineAddressYouNeed";CertificateThumbprint="TheThumbprintYouCopied";port="5986"}'
Run Code Online (Sandbox Code Playgroud)
完成! 如果您输入winrm e winrm/config/listenerPowerShell,您现在应该使用新证书查看HTTPS传输.
如果您的发行版定义或部署脚本中的任何内容使用旧地址(对我来说,Azure VM IP地址),请确保更新它们以使用新的目标计算机地址(对我来说,Azure VM DNS名称标签)WITH port数.在VSTS中,请确保选中使用" 测试证书 " 的复选框.祝好运!
有关更多信息,您可以访问:
| 归档时间: |
|
| 查看次数: |
11140 次 |
| 最近记录: |