Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In één oogopslag
Doel: PowerShell configureren voor gebruik met Dev Proxy
Tijd: 5 minuten
Vereisten:Dev Proxy instellen
Dev Proxy werkt met PowerShell op alle besturingssystemen. In macOS detecteert PowerShell correct wijzigingen in de systeemproxy en is er geen extra configuratie nodig. In Linux configureert Dev Proxy de systeemproxy niet, dus moet u de proxyomgevingsvariabelen instellen. In Windows slaat PowerShell proxy-instellingen in de cache op. Hiervoor zijn extra stappen vereist.
macOS
In macOS detecteert PowerShell automatisch wijzigingen in de systeemproxy. Start Dev Proxy en gebruik PowerShell zoals u dat normaal zou doen: aanvragen worden onderschept zonder extra configuratie.
Linux
In Linux registreert Dev Proxy zich niet als de systeemproxy en leest PowerShell alleen proxy-instellingen uit omgevingsvariabelen. Nadat u Dev Proxy hebt gestart, stelt u de HTTPS_PROXY en HTTP_PROXY omgevingsvariabelen in uw PowerShell-sessie in:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Wanneer u klaar bent met het gebruik van Dev Proxy, wis de omgevingsvariabelen:
$env:HTTPS_PROXY = $null
$env:HTTP_PROXY = $null
Windows
Wanneer u Dev Proxy gebruikt met PowerShell in Windows, kunnen er problemen optreden waarbij PowerShell niet detecteert wanneer de systeemproxy wordt gestart of gestopt. Dit probleem is van invloed op Zowel Windows PowerShell (5.1) als PowerShell 7+ (Core).
Het probleem
In Windows slaan PowerShell-sessies de systeemproxy-instellingen in de cache op wanneer ze worden gestart. Dit betekent dat als u:
- Een PowerShell-sessie openen
- Dev Proxy starten (die zichzelf configureert als de systeemproxy)
- HTTP-aanvragen maken vanuit de oorspronkelijke PowerShell-sessie
De aanvragen worden niet gerouteerd via de dev-proxy omdat PowerShell gebruikmaakt van de proxy-instellingen in de cache vanaf het moment dat de sessie werd gestart.
Op dezelfde manier geldt het volgende als u:
- Dev Proxy starten
- Open een PowerShell-sessie en dien aanvragen in (deze worden correct onderschept)
- Dev Proxy stoppen
- Aanvragen indienen vanuit dezelfde PowerShell-sessie
De aanvragen mislukken omdat PowerShell nog steeds probeert de proxy te gebruiken die niet meer bestaat.
Tijdelijke oplossing: PowerShell-sessie opnieuw starten
De eenvoudigste tijdelijke oplossing is om uw PowerShell-sessie opnieuw op te starten na het starten of stoppen van dev proxy. Als u de sessie opnieuw start, zorgt u ervoor dat PowerShell de huidige systeemproxy-instellingen ophaalt.
Alternatief: de proxy handmatig instellen
In plaats van te vertrouwen op systeemproxydetectie, kunt u Dev Proxy zo configureren dat deze niet als de systeemproxy wordt geregistreerd en de proxy handmatig in PowerShell instelt.
Stap 1: Dev Proxy zonder systeemproxy starten
Start Dev Proxy met de --as-system-proxy false optie:
devproxy --as-system-proxy false
Stap 2: De proxyomgevingsvariabele instellen in PowerShell
Stel in uw PowerShell-sessie de HTTPS_PROXY omgevingsvariabele in:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
Als u ook HTTP-aanvragen moet onderscheppen:
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Stap 3: De proxy wissen nadat u klaar bent
Wanneer u klaar bent met het gebruik van Dev Proxy, wis de omgevingsvariabelen:
$env:HTTPS_PROXY = $null
$env:HTTP_PROXY = $null
Een PowerShell-profiel gebruiken
Om het instellen van de proxy te vereenvoudigen, kunt u functies maken in uw PowerShell-profiel. Voeg het volgende toe aan uw $PROFILE bestand:
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"
}
U kunt vervolgens de Set-DevProxy en Clear-DevProxy opdrachten gebruiken om de proxy snel in of uit te schakelen in uw PowerShell-sessie.