Gebruik EnvHttpProxyAgent wanneer de procesomgeving de route moet kiezen. Gebruik een expliciete Undici ProxyAgent wanneer het endpoint bij de clientconfiguratie hoort. Geef hem door aan het echte verzoek; alleen de agent maken verandert geen enkele fetch-aanroep:

import { EnvHttpProxyAgent, fetch } from 'undici';

const dispatcher = new EnvHttpProxyAgent();

try {
  const response = await fetch("https://example.com/", {
    dispatcher,
    signal: AbortSignal.timeout(15000),
  });
  console.log(response.status);
  await response.arrayBuffer();
} finally {
  await dispatcher.close();
}

Sla dit op als proxy-check.mjs in een ES-moduleomgeving waarin Undici beschikbaar is. Deze POSIX-start geeft twee proxyroutes en een lege omzeillijst mee:

http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjs

Vervang het documentatie-endpoint door je HTTP-proxy of een kandidaat uit de HTTP-proxylijst. De toewijzingen gelden voor deze aanroep; andere shells gebruiken andere syntaxis.

In Undici 8.12.3 hebben de kleinelettervariabelen http_proxy, https_proxy en no_proxy voorrang op hun hoofdlettertegenhangers wanneer beide bestaan. HTTP- en HTTPS-bestemmingen kiezen hun eigen instellingen. Een instelling voor alleen HTTP biedt ook HTTPS-fallback; alleen HTTPS levert geen HTTP-instelling. Ga er niet van uit dat de ALL_PROXY-conventie van een andere client geldt.

InvoerWanneer deze versie die gebruikt
HTTP/HTTPS-proxyomgevingGekozen bij het maken van de agent. Maak een nieuwe dispatcher nadat deze endpoints veranderen.
no_proxy uit de omgevingWordt opnieuw bekeken wanneer verzoeken worden verdeeld.
noProxy in de constructorLegt het omzeilbeleid expliciet vast in plaats van latere omgevingswijzigingen te volgen.

Omzeilregels kunnen hosts en optionele poorten matchen; één sterretje omzeilt de proxy voor alle verzoeken. Controleer de bestemmingsmatch als de proxy geen verkeer ziet.

Op Windows behandelt het hoofdproces omgevingsnamen hoofdletterongevoelig, dus HTTP_PROXY en http_proxy zijn geen onafhankelijke waarden. Omgevingskopieën van Node Workers hebben een gedocumenteerd hoofdlettergevoelig onderscheid. Houd daar rekening mee voordat je beide schrijfwijzen instelt om voorrang te testen. Het voorbeeld sluit de dispatcher na het werk; behoud hem zolang herhaalde verzoeken hetzelfde vastgelegde endpointbeleid nodig hebben.

Gerelateerde artikelen