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: Bepalen of Dev Proxy al het systeemverkeer vastlegt of alleen expliciet gerouteerd verkeer
Tijd: 5 minuten
Vereisten:Dev Proxy instellen
Wanneer u Dev Proxy start, wordt deze standaard geregistreerd als de systeemproxy. Als gevolg hiervan wordt al het HTTP/HTTPS-verkeer op uw computer automatisch gerouteerd via Dev Proxy. Het proxyen van al het verkeer via Dev Proxy werkt goed voor de meeste scenario's: u start Dev Proxy en legt onmiddellijk aanvragen van uw toepassing vast zonder extra configuratie.
Er zijn echter situaties waarin u meer controle wilt over welk verkeer via Dev Proxy gaat. Met de asSystemProxy optie kunt u automatische systeemproxyregistratie uitschakelen, zodat u nauwkeurig kunt bepalen welke toepassingen Dev Proxy gebruiken.
Wanneer moet u systeemproxyregistratie uitschakelen
Overweeg om asSystemProxy in te stellen op false wanneer:
- U bevindt zich in een bedrijfsnetwerk met bestaande proxy-instellingen die u niet wilt overschrijven
- U wilt alleen een specifieke toepassing testen zonder dat dit van invloed is op andere apps die op uw computer worden uitgevoerd
- Andere toepassingen mislukken wanneer Dev Proxy hun verkeer onderschept (bijvoorbeeld Azure Functions)
- U voert meerdere Dev Proxy-exemplaren uit en wilt verkeer routeren naar specifieke exemplaren
- U wilt interferentie met systeemservices en achtergrondprocessen minimaliseren
De optie voor de systeemproxy configureren
U kunt de asSystemProxy optie op twee manieren configureren: met behulp van het configuratiebestand of de opdrachtregel.
Configuratiebestand
Als u systeemproxyregistratie permanent wilt uitschakelen, voegt u de asSystemProxy instelling toe aan uw configuratiebestand.
Bestand:devproxyrc.json
Purpose: Automatische systeemproxyregistratie uitschakelen
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
Opdrachtregel
Als u systeemproxyregistratie voor één sessie wilt uitschakelen, gebruikt u de --as-system-proxy optie.
devproxy --as-system-proxy false
Verkeer handmatig routeren naar Dev Proxy
Wanneer u systeemproxyregistratie uitschakelt, routeren toepassingen hun verkeer niet automatisch via Dev Proxy. U moet elke toepassing configureren om Dev Proxy expliciet te kunnen gebruiken.
Omgevingsvariabelen gebruiken
De meest voorkomende manier om verkeer naar Dev Proxy te routeren, is door de HTTPS_PROXY omgevingsvariabele in te stellen.
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Opdrachtprompt:
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Aanbeveling
Sommige toepassingen ondersteunen ook de HTTP_PROXY omgevingsvariabele. Stel beide in als uw toepassing zowel HTTP- als HTTPS-aanvragen doet.
Taalspecifieke configuratie
Verschillende programmeertalen en frameworks hebben hun eigen manieren om proxy's te configureren:
- Node.js: Gebruik het globale agentpakket of configureer de HTTP-agent rechtstreeks
-
.NET:
HTTPS_PROXYDe omgevingsvariabele instellen of configurerenHttpClientmet een proxy (zie Dev Proxy gebruiken met .NET-toepassingen) -
Azure Functions: Proxy configureren in
local.settings.json(zie Dev Proxy gebruiken met .NET Azure Functions)
Voorbeeld: Azure Functions testen zonder het opstarten te verstoren
Azure Functions maakt gebruik van gRPC voor interne communicatie, wat mislukt wanneer dev-proxy wordt geregistreerd als de systeemproxy. Als u Dev Proxy wilt gebruiken met Azure Functions, schakelt u systeemproxyregistratie uit en configureert u de proxy via omgevingsvariabelen.
Bestand:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
]
}
Bestand:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
Met deze configuratie wordt Azure Functions normaal gestart terwijl uw HTTP-aanvragen naar de gevolgde URL's worden gerouteerd via Dev Proxy.
Voorbeeld: Een toepassing testen terwijl anderen niet worden beïnvloed
Wanneer u meerdere toepassingen tegelijk ontwikkelt, kunt u dev proxy gebruiken met slechts één van deze toepassingen. Schakel systeemproxyregistratie uit en stel de omgevingsvariabele alleen in voor de doeltoepassing.
Dev Proxy starten zonder systeemproxyregistratie:
devproxy --as-system-proxy false
Voer uw toepassing in een afzonderlijke terminal uit met de proxy geconfigureerd:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Andere toepassingen op uw computer blijven normaal werken zonder proxyinterferentie.
Meerdere Dev Proxy-exemplaren uitvoeren
Wanneer u dit instelt asSystemProxyfalse, kunt u meerdere Dev Proxy-exemplaren tegelijk uitvoeren. Elk exemplaar luistert op een eigen poort en houdt de eigen status bij met behulp van statusbestanden per exemplaar.
Meerdere instanties starten
Start elk exemplaar op een andere poort:
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
In een andere terminal:
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
De status van actieve exemplaren controleren
Als u alle actieve exemplaren wilt zien, gebruikt u de status opdracht:
devproxy status
Een specifiek exemplaar stoppen
Als u een specifiek exemplaar wilt aanspreken, gebruikt u de --pid optie met de stop opdracht:
devproxy stop --pid 6456
Om alle actieve exemplaren te stoppen:
devproxy stop
Logboeken van een specifiek exemplaar weergeven
Gebruik de --pid optie met de logs opdracht:
devproxy logs --pid 6456
Opmerking
Er kan slechts één Dev Proxy-exemplaar tegelijk worden geregistreerd als de systeemproxy. Als u probeert een nieuw exemplaar te starten met asSystemProxy ingesteld op true terwijl een ander systeemproxy-exemplaar al wordt uitgevoerd, blokkeert Dev Proxy het opstarten.