Windows 故障排除步骤¶
按照以下步骤识别并确认您有代理,并收集进一步故障排除所需的代理主机和端口号。
检查代理设置。
打开 Settings 菜单。
搜索“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 允许列表中的所有 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.cn"",
"Issuer": "CN=Amazon, OU=Server CA 1B, O=Amazon, C=US",
"Subject": "CN=*.us-east-1.snowflakecomputing.cn",
"Cert Start Date": "5/23/2022 8:00:00 PM",
"Cert End Date": "6/22/2023 7:59:59 PM"
}
在测试结果中观察任何关于代理的引用,以确认在此测试期间是否使用了代理。如果连接成功,请检查输出中提供的发放者信息。
完成这些步骤后,继续 执行后续行动。
如果您没有代理¶
您应该彻底测试 Snowflake 允许列表中的所有 URLs。至少,确保测试导致连接器出现故障的 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.cn"", "Issuer": "CN=Amazon, OU=Server CA 1B, O=Amazon, C=US", "Subject": "CN=*.us-east-1.snowflakecomputing.cn" }
连接失败输出示例:
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
如果连接成功,请检查输出中提供的发放者信息。
完成这些步骤后,继续 执行后续行动。