Usa EnvHttpProxyAgent cuando el entorno del proceso deba elegir la ruta. Usa un ProxyAgent de Undici explícito si el endpoint debe formar parte de la configuración del cliente. Pásalo a la petición real: crear el agente por sí solo no modifica ninguna llamada fetch.

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();
}

Guarda el código como proxy-check.mjs en un entorno de módulos ES con Undici disponible. Este arranque POSIX proporciona las dos rutas proxy y una lista de exclusiones vacía:

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

Sustituye el endpoint de documentación por tu proxy HTTP o un candidato de la lista de proxies HTTP. Las asignaciones pertenecen a esta ejecución; otros shells usan otra sintaxis.

En Undici 8.12.3, las variables en minúsculas http_proxy, https_proxy y no_proxy tienen prioridad sobre las equivalentes en mayúsculas cuando existen ambas. Los destinos HTTP y HTTPS eligen sus propios ajustes. Un ajuste solo HTTP también sirve como alternativa para HTTPS; uno solo HTTPS no cubre HTTP. No supongas que se aplica la convención ALL_PROXY de otro cliente.

EntradaCuándo la utiliza esta versión
Entorno de proxy HTTP/HTTPSSe elige al construir el agente. Crea un dispatcher nuevo después de cambiar esos endpoints.
no_proxy del entornoSe vuelve a comprobar al despachar las peticiones.
noProxy del constructorFija explícitamente la política de exclusiones en vez de seguir cambios posteriores del entorno.

Las exclusiones pueden coincidir con hosts y puertos opcionales; un asterisco solo excluye todas las peticiones del proxy. Revisa la coincidencia del destino si el proxy no recibe tráfico.

En Windows, el proceso principal no distingue mayúsculas en los nombres del entorno, por lo que HTTP_PROXY y http_proxy no son valores independientes. Las copias de entorno de Node Worker tienen una distinción de mayúsculas documentada. Tenlo en cuenta antes de definir ambas grafías para probar la prioridad. El ejemplo cierra su dispatcher al acabar; consérvalo mientras las peticiones repetidas necesiten la misma política de endpoints capturada.

Artículos relacionados