Windows 문제 해결 단계

다음 단계에 따라 프록시가 있는지 확인하고 추가 문제 해결에 필요한 프록시 호스트 및 포트 번호를 수집하십시오.

  1. 프록시 설정을 확인합니다.

    1. Settings 메뉴를 엽니다.

    2. “프록시”를 검색하고 Change proxy settings 를 선택합니다.

  2. 수동 프록시 구성을 확인합니다.

    1. Manual proxy setup 에서 Use a proxy server 옵션을 선택합니다.

      • On 인 경우, 현재 프록시가 사용 중입니다.

      • Off 인 경우, 프록시가 사용 중이지 않습니다.

  3. 자동 프록시 구성을 확인합니다.

    1. Automatic proxy setup 에서 Use setup script 를 찾습니다. On 인 경우 스크립트를 통해 프록시를 구성할 수 있습니다.

    2. 확인하려면 브라우저에 스크립트 URL을 입력합니다. 파일을 다운로드하면 프록시 정보가 포함됩니다.

  4. 다음과 같이 Windows PowerShell 을 사용하여 프록시를 확인합니다.

    $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

    예:

    • proxyAddrmy.pro.xy:123 이고 proxyEnable0 인 경우 프록시 주소는 my.pro.xy:123 입니다.

    • proxyEnable0 이면 프록시가 비활성화된 것이고, 1 이면 프록시가 활성화된 것입니다.

  5. 프록시 테스트 결과에 따라 진행:

    • 프록시 있음: 이러한 환경 변수 설정을 기반으로 추가 테스트 에 필요한 프록시 호스트와 포트를 수집할 수 있습니다.

    • 프록시를 찾을 수 없습니다: 이러한 환경 변수 설정을 기반으로 추가 테스트 에 필요한 프록시 호스트와 포트를 수집할 수 있습니다.

프록시가 있는 경우

프록시 설정을 확인한 후 또는 프록시 정보를 이미 알고 있는 경우 문제가 발생한 URL을 테스트합니다. Snowflake의 허용 목록에 있는 모든 URLs을 철저히 테스트해야 합니다. 최소한 커넥터에서 장애를 일으키는 URL을 구체적으로 테스트합니다.

Windows Powershell 에서 다음 명령을 실행하고, 명령의 URL이 테스트 중인 Snowflake URL과 일치하도록 업데이트해야 합니다. 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

테스트 결과에서 프록시에 대한 모든 참조를 관찰하여 이 테스트에서 프록시가 사용되었는지 확인합니다. 연결이 성공하면 출력에 제공된 발급자 정보를 살펴보십시오.

이러한 단계를 완료한 후 후속 조치 를 진행합니다.

프록시가 없는 경우

Snowflake 허용 목록에 있는 모든 URLs을 철저히 테스트해야 합니다. Snowflake 허용 목록의 모든 URL을 철저히 테스트해야 합니다.

  1. Powershell 를 엽니다.

  2. Powershell 에서 다음 명령을 실행하여 테스트 중인 URL과 일치하도록 명령의 URL을 업데이트합니다.

    [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

    성공적인 출력 샘플:

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

    샘플 연결 실패 출력:

    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
    

연결이 성공하면 출력에 제공된 발급자 정보를 살펴보십시오.

이러한 단계를 완료한 후 후속 조치 를 진행합니다.