Windows 문제 해결 단계
Windows 문제 해결 단계
다음 단계를 따라 프록시가 있는지 확인하고, 추가 문제 해결에 필요한 프록시 호스트와 포트 번호를 확인해요.
본문
-
프록시 설정 확인하기 — 설정 메뉴를 열고, "proxy"를 검색한 뒤 Change proxy settings(프록시 설정 변경)를 선택해요.
-
수동 프록시 구성 확인하기 — Manual proxy setup(수동 프록시 설정)에서
Use a proxy server(프록시 서버 사용) 옵션을 확인해요.On이면 프록시가 현재 사용 중이에요.Off면 프록시가 사용되지 않고 있어요. -
자동 프록시 구성 확인하기 — Automatic proxy setup(자동 프록시 설정)에서
Use setup script(설정 스크립트 사용)를 확인해요.On이면 스크립트를 통해 프록시가 구성되었을 수 있어요. 확인하려면 브라우저에 스크립트 URL을 입력해요. 파일이 다운로드되면 그 파일에 프록시 정보가 들어 있어요. -
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예를 들어:
proxyAddr가my.pro.xy:123이고proxyEnable이0이면 프록시 주소는my.pro.xy:123이에요.proxyEnable이0이면 프록시가 비활성화된 것이고,1이면 활성화된 것이에요.
-
프록시 테스트 결과에 따라 진행하기:
- 프록시 발견됨: 이러한 환경 변수 설정을 바탕으로 후속 테스트에 필요한 프록시 호스트와 포트를 수집할 수 있어요.
- 프록시 없음: 프록시 테스트가 음성이면 후속 테스트를 계속 진행해요.
프록시가 있는 경우
프록시 설정을 확인한 뒤에는, 문제가 발생하는 URL을 테스트해요. Snowflake 허용 목록(allowlist)의 모든 URL을 철저히 테스트해야 해요. 최소한 커넥터에서 실패를 일으키는 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
예상 출력 예시:
{
"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"
}
테스트 결과에서 프록시에 대한 언급을 확인하여 이 테스트 동안 프록시가 사용되었는지 확인해요. 연결에 성공하면 출력에 제공된 발급자(issuer) 정보를 검토해요.
이 단계를 완료한 뒤에는 후속 조치를 계속 진행해요.
프록시가 없는 경우
Snowflake 허용 목록의 모든 URL을 철저히 테스트해야 해요. 최소한 커넥터에서 실패를 일으키는 URL을 구체적으로 테스트해야 해요.
- PowerShell을 엽니다.
- 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
성공 출력 예시:
{
"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
연결에 성공하면 출력에 제공된 발급자(issuer) 정보를 검토해요.
이 단계를 완료한 뒤에는 후속 조치를 계속 진행해요.