Watcher mit einem Proxy verwenden

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

Informationen darüber, wie man Ergebnisse über einen Web-Proxy an das axe Developer Hub sendet

Not for use with personal data

HTTP-Proxies ermöglichen es einer Organisation, die Daten zu überprüfen, die das Netzwerk durchlaufen. Sie werden normalerweise über Umgebungsvariablen eingerichtet. Dieses Dokument beschreibt, wie man die Proxyunterstützung in Watcher (Version 4.0.0 oder höher) einrichtet.

Anforderungen

Um die Proxyunterstützung zu nutzen, benötigen Sie Proxysoftware, die entweder lokal oder auf den Servern Ihrer Organisation läuft. Um den Proxy zu nutzen, benötigen Sie den HTTPS-Endpunkt und dessen Zertifikat (um ihn auf Ihrem Computer autorisieren zu können).

important

Bei der Verwendung der von Deque gehosteten Server wird nur das HTTPS-Protokoll unterstützt. Beim Selber-Hosting können Sie HTTP verwenden, und Sie benötigen auch den HTTP-Endpunkt des Proxys. Es sollten sollte die gleiche Domain und der gleiche Port wie HTTPS (443) sein, aber überprüfen Sie es, um sicherzugehen.

Konfiguration

Die Konfiguration von Proxys für Watcher erfolgt vollständig über Umgebungsvariablen. Diese werden in zwei Gruppen unterteilt.

Die „standardmäßigen“ Proxy-Umgebungsvariablen:

  • HTTPS_PROXY - Der Endpunkt, der für das HTTPS-Protokoll verwendet wird
  • HTTP_PROXY - Der Endpunkt, der für das HTTP-Protokoll verwendet wird
  • NO_PROXY - Eine kommagetrennte Liste von Hostnamen, die nicht über einen Proxy geleitet werden sollen

Die axe Watcher und Node.js Umgebungsvariablen:

  • AXE_WATCHER_USE_ENV_PROXY - Nur Watcher anvisieren, um die Proxyunterstützung zu ändern
  • AXE_USE_ENV_PROXY - Alles von axe anvisieren, das diese Variable ebenfalls unterstützt, um einen Proxy zu nutzen
  • NODE_USE_ENV_PROXY - Node.js's native Art (ab Version 24 oder höher), alle Netzwerk-Anfragen zur Verwendung eines Proxys zu verpflichten
  • NODE_EXTRA_CA_CERTS - Node.js's native Variable, um vertrauenswürdige CA-Zertifikate für HTTPS-Verbindungen bereitzustellen

Wenn eine der AXE_* Variablen auf 1 gesetzt ist, ist die Proxyverwendung aktiviert. NODE_USE_ENV_PROXY wurde in Node.js Version 24 eingeführt, um dies global für den Prozess zu aktivieren, und es wurde auf Watcher zurückportiert, um es in allen Versionen zu unterstützen.

Um den Proxy für Node.js zu aktivieren, ihn aber für Watcher zu deaktivieren, kann eine der AXE_* Variablen auf 0 gesetzt werden.

important

Nur 1 und 0 werden erkannt. Jeder Wert außerhalb dieser führt dazu, dass die Proxyunterstützung deaktiviert wird.

Für HTTPS sollte das von Ihrem Proxy bereitgestellte Zertifikat der Zertifizierungsstelle mit NODE_EXTRA_CA_CERTS angegeben werden, damit die Verbindung nicht als nicht vertrauenswürdig abgelehnt wird. Dieser Wert ist der Pfad zur Zertifikatsdatei.

Verwendungsbeispiele

Es gibt zwei Hauptmethoden zur Einrichtung von Umgebungsvariablen:

  1. Richten Sie sie für den Computer oder den CI-Job ein, der die Verarbeitung durchführt. Dadurch werden sie global während der gesamten Lebensdauer des Computers oder Jobs verfügbar.
  2. Stellen Sie sie vor einem Befehl im Terminal bereit, sodass sie nur für die Lebensdauer dieses Prozesses existieren.

Ein Beispiel für das Einrichten von Proxy-Umgebungsvariablen in einer GitHub Action Workflow-Datei:

# 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

Hier ist ein Beispiel für die lokale Verwendung von Proxy-Umgebungsvariablen für einen einzelnen Befehl:

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

Bedingtes Proxying in Node.js Version 24 oder höher

In Node.js Version 24 (oder höher) ist NODE_USE_ENV_PROXY standardmäßig für alle Anfragen aktiviert, sodass Sie den Proxy möglicherweise in Testszenarien bedingt für Watcher deaktivieren möchten.

Dies kann erreicht werden, indem Sie NO_PROXY verwenden, um das System anzuweisen, der Domain zu erlauben, das Proxying zu umgehen. Das folgende Beispiel erlaubt die Verwendung des Proxys für alle Anfragen, die Node.js initiiert, aber nicht für solche, die auf axe.deque.com oder example.com abzielen:

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

Der Grund für die Verwendung von NO_PROXY ist, dass sogar wenn Sie versuchen, die Proxynutzung von axe Watcher zu deaktivieren, er den globalen Anfrage-Dispatcher erbt. Das bedeutet, wenn NODE_USE_ENV_PROXY aktiviert ist, dass er trotzdem Vorrang hat und den Proxy verwendet.