Utiliser Watcher avec un proxy

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Informations sur la manière d'envoyer des résultats au Hub Développeur axe via un proxy web

Not for use with personal data

Les proxys HTTP permettent à une organisation d’auditer les données transitant par le réseau. Ils sont généralement configurés à l'aide de variables d'environnement. Ce document explique comment configurer le support du proxy dans Watcher (version 4.0.0 ou ultérieure).

Exigences

Pour utiliser le support de proxy, vous avez besoin d'un logiciel de proxy fonctionnant soit localement, soit sur les serveurs de votre organisation. Pour utiliser le proxy, vous avez besoin du point d'accès HTTPS et de son certificat (pour l'autoriser sur votre machine).

important

Lors de l'utilisation des serveurs hébergés par Deque, le HTTPS est le seul protocole pris en charge. Lors de l'auto-hébergement, vous pouvez utiliser HTTP, et vous aurez aussi besoin du point d'accès HTTP du proxy. Il devrait être le même domaine et port que le HTTPS (443), mais vérifiez pour être certain.

Configuration

La configuration des proxys pour Watcher se fait entièrement via des variables d'environnement. Celles-ci sont divisées en deux groupes.

Les variables d'environnement de proxy « standard » :

  • HTTPS_PROXY - Le point d'accès utilisé pour le protocole HTTPS à travers lequel communiquer
  • HTTP_PROXY - Le point d'accès utilisé pour le protocole HTTP à travers lequel communiquer
  • NO_PROXY - Une liste de noms d'hôtes séparés par des virgules qui ne devraient pas passer par un proxy

Les variables d'environnement pour axe Watcher et Node.js :

  • AXE_WATCHER_USE_ENV_PROXY - Cible uniquement Watcher pour modifier le support du proxy
  • AXE_USE_ENV_PROXY - Cible tout ce que axe supporte également cette variable pour utiliser un proxy
  • NODE_USE_ENV_PROXY - La méthode native de Node.js (à partir de la version 24 ou ultérieure uniquement) pour opter toutes les requêtes réseau à l'utilisation d'un proxy
  • NODE_EXTRA_CA_CERTS - La variable native de Node.js pour fournir des certificats CA de confiance pour les connexions HTTPS

Lorsque l'une des variables AXE_* est définie sur 1, l'utilisation du proxy est activée. NODE_USE_ENV_PROXY a été introduite dans la version 24 de Node.js pour activer cela globalement pour le processus, et elle a été rétroportée à Watcher pour le prendre en charge sur toutes les versions.

Pour activer le proxy pour Node.js mais le désactiver pour Watcher, l'une des variables AXE_* peut être définie sur 0.

important

Seuls 1 et 0 sont reconnus. Toute valeur en dehors de celles-ci désactivera par défaut le support du proxy.

Pour le HTTPS, le certificat de l'autorité de certification fourni par votre proxy devrait être spécifié avec NODE_EXTRA_CA_CERTS, afin qu'il ne rejette pas la connexion comme non fiable. Cette valeur est un chemin vers le fichier de certificat.

Exemples d'utilisation

Il existe deux manières principales de configurer les variables d'environnement :

  1. Les configurer pour la machine ou le travail CI effectuant le traitement. Cela les rend globalement disponibles pendant toute la durée de vie de la machine ou du travail.
  2. Les fournir avant une commande dans le terminal afin qu'elles n'existent que pendant la durée de vie de ce processus.

Un exemple de configuration des variables d'environnement de proxy dans un fichier de workflow GitHub Action :

# Setup of the workflow and jobs
      - steps:
      - name: Run Tests
        env:
          HTTPS_PROXY: https://localhost:9090
          NODE_EXTRA_CA_CERTS: ~/path/to/ca.pem
          AXE_WATCHER_USE_ENV_PROXY: 1
        run: npm run test

Voici un exemple d'utilisation des variables d'environnement de proxy localement pour exécuter une seule commande :

AXE_WATCHER_USE_ENV_PROXY=1 HTTPS_PROXY=https://localhost:9090 NODE_EXTRA_CA_CERTS=~/path/to/ca.pem npm run test

Proxy conditionnel sur Node.js version 24 ou ultérieure

Dans la version 24 de Node.js (ou ultérieure), NODE_USE_ENV_PROXY est activé par défaut pour toutes les requêtes, vous pouvez donc vouloir désactiver conditionnellement le proxy pour Watcher dans les scénarios de test.

Cela peut être réalisé en utilisant NO_PROXY pour indiquer au système d'autoriser le domaine à contourner le proxy. L'exemple suivant permet d'utiliser le proxy pour toutes les requêtes initiées par Node.js mais ne pas l'utiliser pour celles ciblant axe.deque.com ou example.com :

NODE_USE_ENV_PROXY=1 HTTPS_PROXY=https://our.intranet/proxy NO_PROXY=axe.deque.com,example.com npm run test

La raison d'utiliser NO_PROXY est que même si vous essayez de désactiver l'utilisation du proxy par axe Watcher, il hérite du répartiteur de requêtes global, ce qui signifie que si NODE_USE_ENV_PROXY est activé, il prendrait toujours la priorité et utiliserait le proxy.