2017-03-01 1907 views
6

我正在使用VSTS部署到Azure VM。」SSL證書包含與主機名不匹配的通用名稱(CN)。「在VSTS中部署

的SSL證書包含一個通用名(CN)不匹配 主機名:在我的版本的定義,我想在複製文件時,收到以下錯誤。有關詳細信息,請參閱 about_Remote_Troubleshooting幫助主題。要修復WinRM連接 相關問題,請在 任務中選擇「啓用複製先決條件」選項。如果已設置,並且目標虛擬機由 負載平衡器支持,請確保爲目標端口 (5986)配置了入站NAT規則。僅適用於ARM VM。

我不使用負載平衡器];欲瞭解更多信息,請參閱 https://aka.ms/azurefilecopyreadme}。我注意到,每當我在Azure門戶(在公共IP設置中)爲我的虛擬機添加DNS名稱標籤時,都會出現此問題。

回答

11

該問題不在主機文件或構建代理中,而是在TARGET機器上的服務器證書。對我來說,當我遇到問題時,我正在使用VSTS部署到Azure VM,但解決方案仍然與現場機器一樣。

對於Azure的VM部署,當你創建一個虛擬機沒有DNS名稱標籤爲你的公網IP,然後再添加一個(像example.centralus.cloudapp.azure.com)出現問題。如果更改DNS名稱標籤,也會發生這種情況。


問題

你要檢查你是如何連接到本機。之前,它使用Azure虛擬機IP地址工作得很好。現在,由於我最近添加了DNS名稱標籤,因此VSTS開始嘗試使用example.centralus.cloudapp.azure.com:5986。我們將這稱爲目標機器地址

目標機器上,以管理員身份打開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 

這會爲您的目標地址創建一個新的服務器證書,有效期爲一年。

接下來,我們要爲HTTPS傳輸類型重新創建WinRM偵聽器以使用新證書。打開IIS並查看您的Web服務器的服務器證書。你應該看到你剛剛創建的那個。右鍵點擊它並選擇'查看...'。在詳細信息選項卡中,複製指紋作爲證書。如果你願意,你也可以從mmc做到這一點。

在PowerShell中一次輸入一個以下命令。

winrm delete winrm/config/listener?Address=*+Transport=HTTPS 

然後:

winrm create winrm/config/listener?Address=*+Transport=HTTPS '@{Hostname="WhateverTargetMachineAddressYouNeed";CertificateThumbprint="TheThumbprintYouCopied";port="5986"}' 

完成!如果您在PowerShell中輸入winrm e winrm/config/listener,則您現在應該看到使用新證書的HTTPS傳輸。

如果你的版本定義或部署腳本任何使用舊的地址(對我來說,在Azure虛擬機的IP地址),一定要更新它們使用新目標機器地址(對我來說,Azure的VM DNS名稱標籤)帶端口號。在VSTS中,請確保您選中使用'測試證書'的複選框。祝你好運!

欲瞭解更多信息,你可以去這裏:

http://www.dotnetcurry.com/windows-azure/1289/configure-winrm-execute-powershell-remote-azure-with-arm

+0

也有類似的問題,而試圖連接到本機部署到:使用HTTPS主機名,而不是固定爲我的IP地址。非常感謝! – Tybs

+0

感謝您的詳細解釋!爲我的問題完美工作。 – RMD

+1

永遠不會太晚 – Rahul

相關問題