Gebruik Watcher met een 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

Informatie over hoe resultaten naar de axe Developer Hub te sturen via een webproxy

Not for use with personal data

HTTP-proxies maken het voor een organisatie mogelijk om gegevens te controleren die over het netwerk passeren. Ze worden normaal gesproken ingesteld met behulp van omgevingsvariabelen. Dit document beschrijft hoe proxy-ondersteuning in Watcher (versie 4.0.0 of later) kan worden ingesteld.

Vereisten

Om proxy-ondersteuning te gebruiken, heeft u proxysoftware nodig die lokaal of op de servers van uw organisatie draait. Om de proxy te gebruiken, heeft u het HTTPS-eindpunt en het bijbehorende certificaat nodig (om het op uw machine te autoriseren).

important

Bij gebruik van de door Deque gehoste servers is HTTPS het enige ondersteunde protocol. Bij zelfhosting kunt u HTTP gebruiken en heeft u ook het HTTP-eindpunt van de proxy nodig. Het zou hetzelfde domein en poort als HTTPS (443) zijn, maar verifieer dit om zeker te zijn.

Configuratie

De configuratie van proxies voor Watcher gebeurt volledig via omgevingsvariabelen. Deze zijn onderverdeeld in twee groepen.

De "standaard" proxy omgevingsvariabelen:

  • HTTPS_PROXY - Het eindpunt gebruikt voor het HTTPS-protocol om te communiceren
  • HTTP_PROXY - Het eindpunt gebruikt voor het HTTP-protocol om te communiceren
  • NO_PROXY - Een kommagescheiden lijst van hostnamen die niet via een proxy moeten gaan

De axe Watcher- en Node.js-omgevingsvariabelen:

  • AXE_WATCHER_USE_ENV_PROXY - Richt zich alleen op Watcher om proxy-ondersteuning aan te passen
  • AXE_USE_ENV_PROXY - Richt zich op alles van axe dat deze variabele ook ondersteunt om een proxy te gebruiken
  • NODE_USE_ENV_PROXY - De eigen manier van Node.js (vanaf versie 24 of later) om alle netwerkverzoeken te laten verlopen via een proxy
  • NODE_EXTRA_CA_CERTS - De eigen variabele van Node.js om vertrouwde CA-certificaten te leveren voor HTTPS-verbindingen

Wanneer een van de AXE_*-variabelen is ingesteld op 1, is het gebruik van de proxy ingeschakeld. NODE_USE_ENV_PROXY werd geïntroduceerd in Node.js versie 24 om dit wereldwijd voor het proces in te schakelen, en het is teruggeport naar Watcher om het in alle versies te ondersteunen.

Om de proxy voor Node.js in te schakelen maar uit te schakelen voor Watcher, kan een van de AXE_* variabelen worden ingesteld op 0.

important

Alleen 1 en 0 worden herkend. Elke waarde buiten deze zal standaard proxy-ondersteuning uitschakelen.

Voor HTTPS moet het certificaatautoriteit-certificaat dat door uw proxy wordt geleverd, worden gespecificeerd met NODE_EXTRA_CA_CERTS, zodat de verbinding niet als onbetrouwbaar wordt afgewezen. Deze waarde is een pad naar het certificaatbestand.

Voorbeelden van gebruik

Er zijn twee hoofdmanieren om omgevingsvariabelen in te stellen:

  1. Stel ze in voor de machine of CI-taak die de verwerking uitvoert. Dit maakt ze wereldwijd beschikbaar gedurende de levensduur van de machine of taak.
  2. Geef ze op voordat u een opdracht in de terminal uitvoert, zodat ze alleen bestaan gedurende de levensduur van dat proces.

Een voorbeeld van het instellen van proxy-omgevingsvariabelen in een GitHub Action workflow-bestand:

# 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 is een voorbeeld van het lokaal gebruiken van proxy-omgevingsvariabelen voor een enkele opdracht om uit te voeren:

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

Voorwaardelijke Proxy-instelling op Node.js versie 24 of later

In Node.js versie 24 (of later) is NODE_USE_ENV_PROXY standaard ingeschakeld voor alle verzoeken, zodat u de proxy mogelijk voorwaardelijk voor Watcher in testsituaties wilt uitschakelen.

Dit kan worden bereikt door NO_PROXY te gebruiken om het systeem te instrueren het domein proxying te laten overslaan. Het volgende voorbeeld maakt het mogelijk de proxy voor alle verzoeken die Node.js initieert te gebruiken, maar niet voor die gericht op axe.deque.com of example.com:

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

De reden om NO_PROXY te gebruiken is dat, zelfs als u probeert het proxy-gebruik van axe Watcher uit te schakelen, deze de globale aanvraagverwerker erft, wat betekent dat als NODE_USE_ENV_PROXY ingeschakeld is, dit voorrang krijgt en de proxy gebruikt.