Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Na první pohled
Cílem: Řízení, jestli dev proxy zachytí veškerý systémový provoz nebo jenom explicitně směrovaný provoz
Čas: 5 minut
Požadavky:Nastavení dev proxy serveru
Když spustíte Dev Proxy, zaregistruje se ve výchozím nastavení jako systémový proxy server. V důsledku toho se veškerý provoz HTTP/HTTPS na vašem počítači automaticky směruje přes Dev Proxy. Směrování veškerého provozu prostřednictvím Dev Proxy se osvědčuje u většiny scénářů – spustíte Dev Proxy a okamžitě zachycuje požadavky z vaší aplikace bez nutnosti další konfigurace.
Existují však situace, kdy můžete chtít mít větší kontrolu nad provozem procházející přes dev proxy server. Tato asSystemProxy možnost umožňuje zakázat automatickou registraci proxy serveru systému a poskytuje jemně odstupňovanou kontrolu nad tím, které aplikace používají Dev Proxy.
Kdy zakázat registraci proxy serveru systému
Zvažte nastavení asSystemProxy na false, když:
- Jste v podnikové síti s existujícím nastavením proxy serveru, které nechcete přepsat
- Chcete otestovat jenom konkrétní aplikaci , aniž by to ovlivnilo jiné aplikace spuštěné na vašem počítači.
- Jiné aplikace selžou pokud Dev Proxy zachytí jejich provoz (například Azure Functions).
- Spouštíte několik instancí dev Proxy a chcete směrovat provoz do konkrétních instancí.
- Chcete minimalizovat rušení systémových služeb a procesů na pozadí.
Konfigurace možnosti proxy serveru systému
Tuto možnost můžete nakonfigurovat asSystemProxy dvěma způsoby: pomocí konfiguračního souboru nebo příkazového řádku.
Konfigurační soubor
Pokud chcete trvale zakázat registraci proxy serveru systému, přidejte nastavení do konfiguračního asSystemProxy souboru.
Soubor:devproxyrc.json
Účel: Zakázání automatické registrace proxy serveru systému
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
Příkazový řádek
Pokud chcete zakázat registraci systémového proxy serveru pro jednu relaci, použijte tuto --as-system-proxy možnost.
devproxy --as-system-proxy false
Ruční směrování provozu do dev Proxy
Když zakážete registraci systémového proxy serveru, aplikace nebudou automaticky směrovat provoz přes Dev Proxy. Každou aplikaci musíte nakonfigurovat tak, aby používala dev proxy explicitně.
Použití proměnných prostředí
Nejběžnější způsob, jak směrovat provoz do Dev Proxy, je nastavením proměnné prostředí HTTPS_PROXY.
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Příkazový řádek:
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Návod
Některé aplikace také podporují proměnnou HTTP_PROXY prostředí. Nastavte obojí, pokud vaše aplikace provádí požadavky HTTP i HTTPS.
Konfigurace specifická pro jazyk
Různé programovací jazyky a architektury mají vlastní způsoby konfigurace proxy serverů:
- Node.js: Použijte balíček global-agent nebo nakonfigurujte agenta HTTP přímo
-
.NET: Nastavte proměnnou prostředí nebo nakonfigurujte
HTTPS_PROXYs proxy serverem (vizHttpClient) -
Azure Functions: Konfigurace proxy serveru
local.settings.json(viz Použití dev proxy serveru s .NET Azure Functions)
Příklad: Testování služby Azure Functions bez narušení spouštění
Azure Functions používá gRPC pro interní komunikaci, což selže, když je dev proxy zaregistrovaný jako systémový proxy server. Pokud chcete používat Dev Proxy se službou Azure Functions, zakažte registraci proxy serveru systému a nakonfigurujte proxy prostřednictvím proměnných prostředí.
Soubor:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
]
}
Soubor:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
S touto konfigurací se Služba Azure Functions spustí normálně, zatímco vaše požadavky HTTP na sledované adresy URL se směrují přes Dev Proxy.
Příklad: Testování jedné aplikace při zachování ostatních aplikací nedotčených.
Při současném vývoji více aplikací můžete chtít používat dev proxy jenom s jedním z nich. Zakažte registraci proxy serveru systému a nastavte proměnnou prostředí pouze pro cílovou aplikaci.
Spusťte Dev Proxy bez registrace proxy serveru systému:
devproxy --as-system-proxy false
V samostatném terminálu spusťte aplikaci s nakonfigurovaným proxy serverem:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Ostatní aplikace na vašem počítači nadále fungují normálně bez zásahu proxy serveru.
Spusťte více instancí dev proxy
Když nastavíte asSystemProxy na false, můžete současně spustit více instancí Dev Proxy. Každá instance naslouchá vlastnímu portu a sleduje svůj vlastní stav pomocí souborů stavu jednotlivých instancí.
Spuštění více instancí
Spusťte každou instanci na jiném portu:
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
V jiném terminálu:
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
Kontrola stavu spuštěných instancí
Pokud chcete zobrazit všechny spuštěné instance, použijte příkaz status :
devproxy status
Zastavení konkrétní instance
Pokud chcete cílit na konkrétní instanci, použijte --pid možnost s příkazem stop :
devproxy stop --pid 6456
Zastavení všech spuštěných instancí:
devproxy stop
Zobrazení protokolů z konkrétní instance
Použijte možnost --pid s příkazem logs :
devproxy logs --pid 6456
Poznámka:
Jako systémový proxy server je možné najednou zaregistrovat pouze jednu instanci dev proxy. Pokud se pokusíte spustit novou instanci s nastavením asSystemProxy na true zatímco už běží jiná instance systémového proxy serveru, Dev Proxy zablokuje spuštění.