將檔案從雲端代理程式下載到 Windows 端點時,可能會因安全性通訊協定失敗。
問題
Windows 平台下載指令碼失敗,出現訊息如下:
請求中止:無法建立 SSL/TLS 安全通道。
雲端 Proxy 中託管三種 PowerShell 指令碼,可以在 Windows 端點虛擬機器下載和執行以實現不同的目的:
- 使用指令碼安裝自訂 Telegraf (download.ps1)。
- 在實體伺服器上安裝自訂 Telegraf (unmanagedagent_setup_sample.ps1)。
- 在受管理或非受管理的虛擬機器上設定開放原始碼 Telegraf (open_source_telegraf_monitor.ps1)。
解決方案
使用以下命令略過
ServerCertificateValidationCallback。
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback').Type) { $certCallback = @" using System; using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates; public class ServerCertificateValidationCallback { public static void Ignore() { if(ServicePointManager.ServerCertificateValidationCallback ==null) { ServicePointManager.ServerCertificateValidationCallback += delegate ( Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors ) { return true; }; } } } "@ Add-Type $certCallback } [ServerCertificateValidationCallback]::Ignore() [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
下載並執行所需指令碼後,可以啟用 ServerCertificateValidationCallback。