Watcher Gebruiken 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 verzenden via een webproxy

Not for use with personal data

HTTP-proxy's stellen een organisatie in staat om gegevens die het netwerk passeren te auditeren. 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, hebt u proxysoftware nodig die lokaal of op de servers van uw organisatie draait. Om de proxy te gebruiken, hebt u het HTTPS-eindpunt en het bijbehorende certificaat (om het op uw machine te autoriseren) nodig.

important

Bij gebruik van de door Deque gehoste servers wordt alleen HTTPS ondersteund. Bij zelfhosting kunt u HTTP gebruiken, en u hebt ook het HTTP-eindpunt van de proxy nodig. Het *moet* dezelfde domein en poort (443) als HTTPS hebben, maar controleer dit om zeker te zijn.

Configuratie

De configuratie van proxy's voor Watcher gebeurt volledig via omgevingsvariabelen. Deze zijn opgedeeld in twee groepen.

De „standaard“ proxy-omgevingsvariabelen:

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

De axe Watcher- en Node.js-omgevingsvariabelen:

  • AXE_WATCHER_USE_ENV_PROXY - Richt zich alleen op Watcher om proxy-ondersteuning te wijzigen
  • AXE_USE_ENV_PROXY - Richt zich op alles van de axe dat deze variabele ook ondersteunt om een proxy te gebruiken
  • NODE_USE_ENV_PROXY - Node.js's native (vanaf versie 24 of later) manier om alle netwerkverzoeken in te schakelen voor het gebruik van een proxy
  • NODE_EXTRA_CA_CERTS - Node.js's native variabele om vertrouwde CA-certificaten voor HTTPS-verbindingen te verstrekken

Wanneer een van de AXE_* variabelen is ingesteld op 1, wordt het gebruik van proxy's ingeschakeld. NODE_USE_ENV_PROXY werd geïntroduceerd in Node.js versie 24 om dit wereldwijd voor het proces mogelijk te maken, en het is teruggevoerd 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 certificaat van de certificeringsinstantie dat door uw proxy wordt verstrekt, worden gespecificeerd met NODE_EXTRA_CA_CERTS, zodat het de verbinding niet als onbetrouwbaar afwijst. 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 vóór een opdracht in de terminal zodat ze alleen bestaan gedurende de levensduur van dat proces.

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

# 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 enkel commando 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

Voorwaardelijk Proxyen op Node.js versie 24 of Later

In Node.js versie 24 (of later) is NODE_USE_ENV_PROXY standaard ingeschakeld voor alle verzoeken, dus u kunt de proxy voor Watcher in testscenario’s mogelijk voorwaardelijk uitschakelen.

Dit kan worden bereikt door NO_PROXY te gebruiken om het systeem te instrueren de domein om proxyen te omzeilen. Het volgende voorbeeld laat de proxy gebruiken voor alle verzoeken die Node.js initieert, maar het niet gebruiken 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 proxygebruik van axe Watcher uit te schakelen, het de wereldwijde verzoekdispatcher overneemt, wat betekent dat als NODE_USE_ENV_PROXY is ingeschakeld, het nog steeds voorrang zou hebben en de proxy zou gebruiken.