Cuando se descarga un archivo del proxy de nube en un dispositivo de Windows, se puede producir un error debido a los protocolos de seguridad.

Problema

Se produce un error en la descarga del script en una plataforma de Windows con el siguiente mensaje:
Se anuló la solicitud: no se pudo crear el canal seguro SSL/TLS.
Hay tres tipos de scripts de PowerShell alojados en el proxy de nube que se pueden descargar y ejecutar en las máquinas virtuales del dispositivo de Windows para distintos fines:
  • Para instalar Telegraf personalizado mediante un script (download.ps1).
  • Para instalar Telegraf personalizado en un servidor físico (unmanagedagent_setup_sample.ps1).
  • Para configurar Telegraf de código abierto en máquinas virtuales administradas o sin administrar (open_source_telegraf_monitor.ps1).

Solución

Ignora ServerCertificateValidationCallback con el siguiente comando.
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

Después de descargar y ejecutar el script requerido, ServerCertificateValidationCallback puede habilitarse.