Etapas de solução de problemas do Windows

Siga estas etapas para identificar e confirmar que você tem um proxy e para coletar os números de porta e host do proxy necessários para a solução de problemas.

  1. Verifique as configurações de proxy.

    1. Abra o menu Settings.

    2. Procure por “proxy” e selecione Change proxy settings.

  2. Verifique a configuração manual do proxy.

    1. Em Manual proxy setup, selecione a opção Use a proxy server.

      • Se for On, um proxy está em uso no momento.

      • Se for Off, nenhum proxy está sendo usado.

  3. Verifique a configuração automática do proxy.

    1. Em Automatic proxy setup, procure por Use setup script. Se for On, um proxy pode ser configurado por meio de um script.

    2. Para verificar, insira o URL do script no seu navegador. Se um arquivo for baixado, ele conterá as informações do proxy.

  4. Verifique o proxy usando o Windows PowerShell, da seguinte forma:

    $proxyAddr = (Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').ProxyServer
    $proxyEnable = (Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').ProxyEnable
    
    # Output the values
    $proxyAddr
    $proxyEnable
    
    Copy

    Por exemplo:

    • Se proxyAddr for my.pro.xy:123 e proxyEnable for 0, o endereço do proxy é my.pro.xy:123.

    • Se proxyEnable for 0, o proxy está desabilitado; se for 1, o proxy está habilitado.

  5. Prossiga com base nos resultados do teste de proxy:

    • Proxy encontrado: com base nessas configurações de variáveis de ambiente, você pode reunir o host e a porta do proxy necessários para testes posteriores.

    • Nenhum proxy encontrado: se o teste do proxy for negativo, continue com os testes.

Se você tiver um proxy

Depois de identificar suas configurações de proxy, ou se você já souber suas informações de proxy, prossiga para testar o URL que está apresentando problemas. Você deve testar todos os URLs na lista de permissões do Snowflake cuidadosamente. No mínimo, certifique-se de testar o URL que está causando falhas especificamente no seu conector.

No Windows Powershell, execute os seguintes comandos, certificando-se de atualizar o URL para corresponder ao URL do Snowflake que você está testando. Além disso, certifique-se de atualizar seu PROXY_URL.

[Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }

$proxy = New-Object System.Net.WebProxy("http://<PROXY:PORT>")
$url = "https://<URL>/"

$req = [Net.HttpWebRequest]::Create($url)
$req.Proxy = $proxy
$req.GetResponse() | Out-Null
$output = [PSCustomObject]@{
  Proxy = $proxy
  URL = $url
  'Issuer' = $req.ServicePoint.Certificate.Issuer
  'Subject' = $req.ServicePoint.Certificate.Subject
}

$output|ConvertTo-Json

Sample expected output:

{
    "Proxy": {
                  "Address": "<IP ADDRESS>"",
                  "BypassProxyOnLocal": false,
                  "BypassList": [
                                ],
                  "Credentials": null,
                  "UseDefaultCredentials": false,
                  "BypassArrayList": [
                                      ]
              },
    "URL": "https://<account>.snowflakecomputing.com"",
    "Issuer": "CN=Amazon, OU=Server CA 1B, O=Amazon, C=US",
    "Subject": "CN=*.us-east-1.snowflakecomputing.com",
    "Cert Start Date": "5/23/2022 8:00:00 PM",
    "Cert End Date": "6/22/2023 7:59:59 PM"
}
Copy

Observe quaisquer referências ao proxy nos resultados do teste para confirmar que o proxy foi usado durante este teste. Se a conexão for bem-sucedida, examine as informações do emissor fornecidas na saída.

Após concluir essas etapas, continue com as ações de acompanhamento.

Se você não tem um proxy

Você deve testar todos os URLs na lista de permissões do Snowflake cuidadosamente. No mínimo, certifique-se de testar especificamente o URL que está causando falhas no seu conector.

  1. Abra Powershell.

  2. Execute os seguintes comandos em Powershell, atualizando o URL nos comandos para corresponder ao URL que você está testando.

    [Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
    $url = "https://<URL>/""
    $req = [Net.HttpWebRequest]::Create($url)
    $req.GetResponse() | Out-Null
    $output = [PSCustomObject]@{
      URL = $url
      'Issuer' = $req.ServicePoint.Certificate.Issuer
      'Subject' = $req.ServicePoint.Certificate.Subject
    }
    $output|ConvertTo-Json
    
    Copy

    Exemplo de saída bem-sucedida:

    {
        "URL": "https://<account>.snowflakecomputing.com"",
        "Issuer": "CN=Amazon, OU=Server CA 1B, O=Amazon, C=US",
        "Subject": "CN=*.us-east-1.snowflakecomputing.com"
    }
    

    Exemplo de saída de falha de conexão:

    Exception calling "GetResponse" with "0" argument(s): "Unable to connect to the remote server"
    At line:4 char:1
    
    + $req.GetResponse() | Out-Null
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo     : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : WebException
    

Se a conexão for bem-sucedida, examine as informações do emissor fornecidas na saída.

Após concluir essas etapas, continue com as ações de acompanhamento.