Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
De un vistazo
Objetivo: Controlar si Dev Proxy captura todo el tráfico del sistema o solo el tráfico enrutado explícitamente
Tiempo: 5 minutos
Requisitos previos:Configuración del proxy de desarrollo
De forma predeterminada, al iniciar el proxy de desarrollo, se registra como el proxy del sistema. Como resultado, todo el tráfico HTTP/HTTPS de la máquina se enruta automáticamente a través del proxy de desarrollo. Configurar que todo el tráfico pase a través de Dev Proxy funciona bien para la mayoría de los escenarios: simplemente inicia Dev Proxy y captura inmediatamente las solicitudes de tu aplicación sin necesidad de ninguna configuración adicional.
Sin embargo, hay situaciones en las que es posible que quiera tener más control sobre qué tráfico pasa a través del proxy de desarrollo. La asSystemProxy opción le permite deshabilitar el registro automático de proxy del sistema, lo que le proporciona un control específico sobre qué aplicaciones usan proxy de desarrollo.
Cuándo deshabilitar el registro de proxy del sistema
Considere la posibilidad de establecer asSystemProxy en false cuándo:
- Está en una red corporativa con las configuraciones de proxy ya establecidas que no desea sobrescribir.
- Solo quiere probar una aplicación específica sin afectar a otras aplicaciones que se ejecutan en la máquina.
- Se produce un error en otras aplicaciones cuando dev Proxy intercepta su tráfico (por ejemplo, Azure Functions)
- Está ejecutando varias instancias de Proxy de desarrollo y quiere enrutar el tráfico a instancias específicas.
- Quiere minimizar la interferencia con los servicios del sistema y los procesos en segundo plano
Configuración de la opción de proxy del sistema
Puede configurar la asSystemProxy opción de dos maneras: mediante el archivo de configuración o la línea de comandos.
Archivo de configuración
Para deshabilitar de forma persistente el registro del proxy del sistema, agregue la asSystemProxy configuración al archivo de configuración.
Archivo:devproxyrc.json
Propósito: Deshabilitación del registro automático de proxy del sistema
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
Línea de comandos
Para deshabilitar el registro de proxy del sistema para una sola sesión, use la --as-system-proxy opción .
devproxy --as-system-proxy false
Enrutar el tráfico al proxy de desarrollo manualmente
Al deshabilitar el registro de proxy del sistema, las aplicaciones no enrutan automáticamente su tráfico mediante Dev Proxy. Debe configurar cada aplicación para que use el Dev Proxy explícitamente.
Uso de variables de entorno
La manera más común de enrutar el tráfico al proxy de desarrollo es estableciendo la HTTPS_PROXY variable de entorno.
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Símbolo del sistema:
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Sugerencia
Algunas aplicaciones también admiten la variable de HTTP_PROXY entorno. Establezca ambos si la aplicación realiza solicitudes HTTP y HTTPS.
Configuración específica del idioma
Los distintos lenguajes de programación y marcos tienen sus propias formas de configurar servidores proxy:
- Node.js: Usar el paquete global-agent o configurar directamente el agente HTTP
-
.NET: Establezca la variable de
HTTPS_PROXYentorno o configureHttpClientcon un proxy (consulte Utilice el proxy de desarrollo con aplicaciones .NET) -
Azure Functions: Configuración del proxy en
local.settings.json(consulte Uso del proxy de desarrollo con .NET Azure Functions)
Ejemplo: Prueba de Azure Functions sin interferir con el inicio
Azure Functions usa gRPC para la comunicación interna, lo que produce un error cuando el proxy de desarrollo se registra como proxy del sistema. Para usar Dev Proxy con Azure Functions, deshabilite el registro del proxy del sistema y configure el proxy a través de variables de entorno.
Archivo:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
]
}
Archivo:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
Con esta configuración, Azure Functions se inicia normalmente mientras las solicitudes HTTP a las direcciones URL observadas se enrutan a través de Dev Proxy.
Ejemplo: Probar una aplicación mientras mantiene a otros usuarios sin verse afectados
Al desarrollar varias aplicaciones simultáneamente, es posible que quiera utilizar Dev Proxy con solo una de ellas. Deshabilite el registro del proxy del sistema y establezca la variable de entorno solo para la aplicación de destino.
Inicie el proxy de desarrollo sin configurar el proxy del sistema.
devproxy --as-system-proxy false
En un terminal independiente, ejecute la aplicación con el proxy configurado:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Otras aplicaciones de la máquina siguen funcionando normalmente sin interferencias de proxy.
Ejecutar varias instancias de Dev Proxy
Cuando se establece asSystemProxy en false, puede ejecutar simultáneamente varias instancias de Dev Proxy. Cada instancia escucha en su propio puerto y realiza un seguimiento de su propio estado mediante archivos de estado por instancia.
Inicio de varias instancias
Inicie cada instancia en un puerto diferente:
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
En otro terminal:
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
Comprobación del estado de las instancias en ejecución
Para ver todas las instancias en ejecución, use el status comando :
devproxy status
Detener una instancia específica
Para tener como destino una instancia específica, use la --pid opción con el stop comando :
devproxy stop --pid 6456
Para detener todas las instancias en ejecución:
devproxy stop
Visualización de registros desde una instancia específica
Use la --pid opción con el logs comando :
devproxy logs --pid 6456
Si se ejecuta devproxy logs sin --pid, Dev Proxy muestra los registros de la instancia de proxy del sistema o la instancia iniciada más recientemente si ninguna está registrada como proxy del sistema. El proxy de desarrollo también imprime un aviso que indica qué instancia seleccionó y enumera los identificadores de proceso de las otras instancias en ejecución.
Nota:
Solo se puede registrar una instancia de Proxy de desarrollo como proxy del sistema a la vez. Si intenta iniciar una nueva instancia con asSystemProxy establecido en true mientras ya se está ejecutando otra instancia de proxy del sistema, Dev Proxy bloquea el inicio.
Consulte también
- Configuración de proxy: todas las opciones de configuración
- comando status
- comando de detener
- comando logs
- Uso del proxy de desarrollo con aplicaciones de Node.js
- Uso del proxy de desarrollo con aplicaciones .NET
- Uso del proxy de desarrollo en las Funciones de Azure de .NET
- El proxy de desarrollo no intercepta las solicitudes