Étapes de dépannage MacOS et Linux¶
Suivez ces étapes pour identifier et confirmer que vous disposez d’un proxy et pour collecter les numéros d’hôte et de port proxy dont vous avez besoin pour un dépannage ultérieur.
Ouvrez une nouvelle fenêtre
Terminal
.Exécutez la commande suivante pour récupérer les détails de configuration du proxy spécifiques à votre réseau. Remplacez
example.com
par le nom d’hôte réel que vous souhaitez tester.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')"
Exemple de sortie avec une configuration de proxy
Enabled: Yes Server: 192.168.21.12 Port: 3128 Authenticated Proxy Enabled: 1
Exemple de sortie sans configuration de proxy
Enabled: No Server: Port: 0 Authenticated Proxy Enabled: 0
De plus, vous pouvez tester les variables d’environnement courantes utilisées pour les paramètres de proxy avec la commande suivante :
env | grep -i proxy
La commande renvoie une sortie similaire à la suivante :
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 trouvé : en fonction de ces paramètres de variables d’environnement, vous pouvez collecter l’hôte proxy et le port dont vous aurez besoin pour des tests supplémentaires.
Aucun proxy trouvé : si la sortie est vide, vous n’avez probablement aucune variable d’environnement définie pour une configuration de proxy, ce qui nécessite des tests supplémentaires.
NO_PROXY
définit les hôtes qu’un client peut utiliser pour se connecter directement sans passer par le serveur proxy.
Si vous avez un proxy¶
Vous pouvez identifier l’URL spécifique qui rencontre des problèmes de connectivité. Bien qu’il soit bénéfique de tester toutes les URLs répertoriées dans la liste d’autorisation de Snowflake, vous souhaiterez peut-être vous concentrer sur l’URL qui cause directement des problèmes dans votre configuration.
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"
Sinon, vous pouvez transmettre les paramètres proxy directement dans curl
(sans définir au préalable les variables d’environnement), comme indiqué :
Proxy non authentifié
curl --proxy “<PROTOCOL>://<HOST>:<PORT>” ..rest of the arguments..
Proxy authentifié
curl --proxy “<PROTOCOL>://<HOST>:<PORT>” --proxy-user user:pass ..rest of the arguments..
Exécutez les commandes suivantes dans Terminal
: Mettez à jour la commande avec l’URL qui cause des problèmes. Remplacez <URL>
avec l’URL problématique. De plus, remplacez <PROXY_URL>
avec vos informations de proxy.
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"
Ces commandes configurent votre environnement pour utiliser le proxy pour les requêtes HTTP et HTTPS et tentent de se connecter à l’URL Snowflake spécifiée. Cela génère également des informations détaillées sur la tentative de connexion, y compris les connexions réussies ou les erreurs rencontrées.
Exemple de sortie de connexion réussie :
➜ 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
Analyse de la sortie :
« Connecté à… » indique une connexion réussie au proxy (<IP ADDRESS>) et la création d’un tunnel HTTP vers Snowflake.
Les codes de statut HTTP comme
HTTP/1.1 200 Connection established
suivi deHTTP/1.1 302 Found
suggère une connexion réussie à la page.
Après avoir terminé ces étapes, continuez avec les actions de suivi.
Si vous n’avez pas de proxy¶
Dans Terminal
, exécutez la commande suivante, en veillant à mettre à jour l’URL dans les commandes pour faire correspondre l’URL Snowflake que vous testez.
curl -v https://<URL> 2>&1 | tee | grep "Trying\|Connected\|Establish\|CONNECT\|subject\|issuer\|HTTP\|curl"
Exemple de sortie de connexion réussie :
➜ 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
Cette sortie démontre une connexion réussie, indiquant que votre système peut atteindre et communiquer avec le serveur Snowflake.
Exemple d’échec de connexion :
➜ 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
Après avoir terminé ces étapes, continuez avec les actions de suivi.