Schritte zur Problembehandlung für MacOS und Linux¶
Führen Sie die folgenden Schritte aus, um zu erkennen und zu bestätigen, dass Sie einen Proxy haben und um die Proxy-Host- und Portnummern zu ermitteln, die Sie für die weitere Fehlersuche benötigen.
Öffnen Sie ein neues
Terminal
-Fenster.Führen Sie den folgenden Befehl aus, um die Details der Proxykonfiguration für Ihr Netzwerk abzurufen. Ersetzen Sie
example.com
durch den tatsächlichen Hostnamen, den Sie testen möchten.networksetup -getsecurewebproxy "$(networksetup -listnetworkserviceorder | grep $(route get example.com | grep interface | awk -F: '{print $2}') | awk -FPort: '{print $2}' | awk -F, '{print $1}' | sed 's/^ //g')"
Beispiel für die Ausgabe mit einer Proxykonfiguration
Enabled: Yes Server: 192.168.21.12 Port: 3128 Authenticated Proxy Enabled: 1
Beispiel der Ausgabe ohne Proxykonfiguration
Enabled: No Server: Port: 0 Authenticated Proxy Enabled: 0
Darüber hinaus können Sie gängige Umgebungsvariablen, die für Proxyeinstellungen verwendet werden, mit dem folgenden Befehl testen:
env | grep -i proxy
Der Befehl gibt eine Ausgabe ähnlich der folgenden zurück:
http_proxy=http://my.pro.xy:123 HTTP_PROXY=http://my.pro.xy:123 HTTPS_PROXY=http://my.pro.xy:123 https_proxy=http://my.pro.xy:123 NO_PROXY=localhost,.company.com,.amazonaws.com
Proxy gefunden: Anhand dieser Einstellungen der Umgebungsvariablen können Sie den Proxy-Host und den Port ermitteln, den Sie für weitere Tests benötigen.
Kein Proxy gefunden: Wenn die Ausgabe leer ist, haben Sie wahrscheinlich keine Umgebungsvariablen für eine Proxykonfiguration festgelegt, was weitere Tests erfordert.
NO_PROXY
definiert die Hosts, die ein Client verwenden kann, um eine direkte Verbindung herzustellen, ohne den Proxyserver zu passieren.
Wenn Sie einen Proxy haben:¶
Sie können die spezifische URL identifizieren, bei der es Probleme mit der Konnektivität gibt. Auch wenn es von Vorteil ist, alle in der Zulassungsliste von Snowflake aufgeführten URLs zu testen, sollten Sie sich auf die URL konzentrieren, die in Ihrem Setup direkt Probleme verursacht.
export http_proxy=http://<PROXY_HOST:PROXY_PORT> && export HTTP_PROXY=$http_proxy && export HTTPS_PROXY=$http_proxy && export https_proxy=$http_proxy
curl -v https://URL 2>&1 | tee | grep "Trying\|Connected\|Establish\|CONNECT\|subject\|issuer\|HTTP\|curl"
Alternativ können Sie die Proxyeinstellungen auch direkt an curl
übergeben (ohne vorher die Umgebungsvariablen zu setzen), wie gezeigt:
Nicht authentifizierter Proxy
curl --proxy “<PROTOCOL>://<HOST>:<PORT>” ..rest of the arguments..
Authentifizierter Proxy
curl --proxy “<PROTOCOL>://<HOST>:<PORT>” --proxy-user user:pass ..rest of the arguments..
Führen Sie im Terminal
die folgenden Befehle aus. Aktualisieren Sie den Befehl mit der URL, die Probleme verursacht. Ersetzen Sie <URL>
durch die problematische URL. Ersetzen Sie außerdem <PROXY_URL>
durch Ihre Proxyinformationen.
export http_proxy=http://<PROXY_URL> && export HTTP_PROXY=$http_proxy && export HTTPS_PROXY=$http_proxy && export https_proxy=$http_proxy
curl -v https://<URL> 2>&1 | tee | grep "Trying\|Connected\|Establish\|CONNECT\|subject\|issuer\|HTTP\|curl"
Mit diesen Befehlen wird Ihre Umgebung so konfiguriert, dass der Proxy für HTTP- und HTTPS- Anfragen verwendet wird und versucht wird, eine Verbindung mit der angegebenen Snowflake-URL herzustellen. Es gibt auch detaillierte Informationen über den Verbindungsversuch aus, einschließlich erfolgreicher Verbindungen oder aufgetretener Fehler.
Ausgabe des Beispiels für eine erfolgreiche Verbindung:
➜ curl -v https://<account>.snowflakecomputing.com 2>&1 | tee | grep "Trying\|Connected\|Establish\|CONNECT\|subject\|issuer\|HTTP\|curl"
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying <IP ADDRESS>...
* Connected to <IP ADDRESS> (<IP ADDRESS>) port <PORT> (#0)
* Establish HTTP proxy tunnel to <account>.snowflakecomputing.com:443
> CONNECT <account>.snowflakecomputing.com:443 HTTP/1.1
> User-Agent: curl/7.79.1
< HTTP/1.1 200 Connection established
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* subject: CN=*.us-east-1.snowflakecomputing.com
* subjectAltName: host "<account>.snowflakecomputing.com" matched cert's "*.us-east-1.snowflakecomputing.com"
* issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
> GET / HTTP/1.1
> User-Agent: curl/7.79.1
< HTTP/1.1 302 Found
Ausgabenanalyse:
„Verbunden mit …“ zeigt eine erfolgreiche Verbindung zum Proxy (<IP ADDRESS>) und den Aufbau eines HTTP-Tunnels zu Snowflake an.
HTTP-Statuscodes wie
HTTP/1.1 200 Connection established
gefolgt vonHTTP/1.1 302 Found
deuten auf eine erfolgreiche Anmeldung hin.
Nachdem Sie diese Schritte abgeschlossen haben, fahren Sie mit den Nachfassaktionen fort.
Wenn Sie keinen Proxy haben:¶
Führen Sie in Terminal
den folgenden Befehl aus. Achten Sie darauf, dass die URL in den Befehlen mit der Snowflake-URL übereinstimmt, die Sie testen.
curl -v https://<URL> 2>&1 | tee | grep "Trying\|Connected\|Establish\|CONNECT\|subject\|issuer\|HTTP\|curl"
Ausgabe des Beispiels für eine erfolgreiche Verbindung:
➜ curl -v https://<account>.snowflakecomputing.com 2>&1 | tee | grep "Trying\|Connected\|Establish\|CONNECT\|subject\|issuer\|HTTP\|curl"
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 52.22.29.117:443...
* Connected to <account>.snowflakecomputing.com (52.22.29.117) port 443 (#0)
* subject: CN=*.us-east-1.snowflakecomputing.com
* subjectAltName: host "<account>.snowflakecomputing.com" matched cert's "*.us-east-1.snowflakecomputing.com"
* issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> GET / HTTP/1.1
< HTTP/1.1 302 Found
Diese Ausgabe zeigt eine erfolgreiche Verbindung an, d. h. dass Ihr System den Snowflake-Server erreichen und mit ihm kommunizieren kann.
Beispiel für den Ausfall einer Verbindung:
➜ curl -v https://<account>.snowflakecomputing.com 2>&1 | tee | grep "Trying\|Connected\|Establish\|CONNECT\|subject\|issuer\|HTTP\|curl"
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 52.22.29.117:443...
* Trying 3.222.247.13:443...
* Trying 54.81.51.170:443...
curl: (7) Failed to connect to <account>.us-east-1.snowflakecomputing.com port 443 after 3139 ms: Connection refused
Nachdem Sie diese Schritte abgeschlossen haben, fahren Sie mit den Nachfassaktionen fort.