Delen via


De optie systeemproxy gebruiken

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:

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.

Zie ook