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: Configurar PowerShell para que funcione con el Dev Proxy
Tiempo: 5 minutos
Requisitos previos:Configuración del proxy de desarrollo
El proxy de desarrollo funciona con PowerShell en todos los sistemas operativos. En macOS y Linux, PowerShell detecta correctamente los cambios del proxy del sistema y no se necesita ninguna configuración adicional. En Windows, PowerShell almacena en caché la configuración del proxy, lo que requiere pasos adicionales.
macOS y Linux
En macOS y Linux, PowerShell detecta automáticamente los cambios de proxy del sistema. Inicie el proxy de desarrollo y use PowerShell como lo haría normalmente: las solicitudes se interceptan sin ninguna configuración adicional.
Windows
Al usar el proxy de desarrollo con PowerShell en Windows, es posible que encuentre problemas en los que PowerShell no detecta cuándo se inicia o detiene el proxy del sistema. Este problema afecta tanto a Windows PowerShell (5.1) como a PowerShell 7+ (Core).
El problema
En Windows, las sesiones de PowerShell almacenan en caché la configuración del proxy del sistema cuando se inician. Esto significa que si:
- Abrir una sesión de PowerShell
- Iniciar proxy de desarrollo (que se configura como proxy del sistema)
- Realización de solicitudes HTTP desde la sesión original de PowerShell
Las solicitudes no se enrutan a través del proxy de desarrollo porque PowerShell usa la configuración del proxy almacenado en caché desde el momento en que se inició la sesión.
Del mismo modo, si:
- Iniciar proxy de desarrollo
- Abra una sesión de PowerShell y realice solicitudes (se interceptan correctamente).
- Detener el servidor proxy de desarrollo
- Realización de solicitudes desde la misma sesión de PowerShell
Se produce un error en las solicitudes porque PowerShell sigue intentando usar el proxy que ya no existe.
Solución alternativa: Reinicio de la sesión de PowerShell
La solución alternativa más sencilla es reiniciar la sesión de PowerShell después de iniciar o detener el proxy de desarrollo. Reiniciar la sesión garantiza que PowerShell recoge la configuración actual del proxy del sistema.
Alternativa: Establecer el proxy manualmente
En lugar de confiar en la detección de proxy del sistema, puede configurar Dev Proxy para que no se registre como proxy del sistema y establecer el proxy manualmente en PowerShell.
Paso 1: Iniciar proxy de desarrollo sin proxy del sistema
Inicie el proxy de desarrollo con la --as-system-proxy false opción :
devproxy --as-system-proxy false
Paso 2: Establecimiento de la variable de entorno de proxy en PowerShell
En la sesión de PowerShell, establezca la HTTPS_PROXY variable de entorno:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
Si también necesita interceptar solicitudes HTTP:
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Paso 3: Borrar el proxy cuando haya terminado
Cuando haya terminado de usar el proxy de desarrollo, borre las variables de entorno:
$env:HTTPS_PROXY = $null
$env:HTTP_PROXY = $null
Uso de un perfil de PowerShell
Para simplificar la configuración del proxy, puede crear funciones en el perfil de PowerShell. Agregue lo siguiente al $PROFILE archivo:
function Set-DevProxy {
$env:HTTP_PROXY = "http://127.0.0.1:8000"
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
Write-Host "Dev Proxy enabled"
}
function Clear-DevProxy {
$env:HTTP_PROXY = $null
$env:HTTPS_PROXY = $null
Write-Host "Dev Proxy disabled"
}
Después, puede usar los comandos Set-DevProxy y Clear-DevProxy para habilitar o deshabilitar rápidamente el proxy en la sesión de PowerShell.