Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy pillantással
Cél: Annak szabályozása, hogy a Dev Proxy rögzíti-e az összes rendszerforgalmat, vagy csak explicit módon irányított forgalmat
Idő: 5 perc
Előfeltételek:Fejlesztői proxy beállítása
Alapértelmezés szerint a Dev Proxy indításakor a rendszerproxyként regisztrálja magát. Ennek eredményeképpen a gép összes HTTP/HTTPS-forgalma automatikusan a Dev Proxyn keresztül lesz irányítva. A dev proxyn keresztüli összes forgalom proxyzása a legtöbb forgatókönyv esetében jól működik – ön elindítja a Dev Proxyt, és minden további konfiguráció nélkül azonnal rögzíti az alkalmazástól érkező kérelmeket.
Vannak azonban olyan helyzetek, amikor érdemes lehet jobban szabályozni, hogy melyik forgalom halad át a Dev Proxyn. Ezzel asSystemProxy a beállítással letilthatja az automatikus rendszerproxy-regisztrációt, így részletesen szabályozhatja, hogy mely alkalmazások használják a Dev Proxyt.
Mikor tiltsa le a rendszerproxy-regisztrációt?
Fontolja meg asSystemProxy beállítását false mikor:
- Ön egy vállalati hálózaton van, meglévő proxybeállításokkal, amelyeket nem szeretne felülírni
- Csak egy adott alkalmazást szeretne tesztelni anélkül, hogy az hatással van a számítógépen futó többi alkalmazásra
- Más alkalmazások meghiúsulnak , ha a Dev Proxy elfogja a forgalmat (például Az Azure Functions)
- Több fejlesztői proxypéldányt futtat, és a forgalmat adott példányokra szeretné irányítani
- Minimalizálni szeretné a rendszerszolgáltatások és a háttérfolyamatok interferencia-zavarását
A rendszerproxy beállítása
A asSystemProxy beállítás kétféleképpen konfigurálható: a konfigurációs fájl vagy a parancssor segítségével.
Konfigurációs fájl
A rendszerproxy-regisztráció állandó letiltásához adja hozzá a beállítást a asSystemProxy konfigurációs fájlhoz.
Fájl:devproxyrc.json
Célja: Automatikus rendszerproxy-regisztráció letiltása
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
Parancssor
Ha egyetlen munkamenetre szeretné letiltani a rendszerproxy-regisztrációt, használja a --as-system-proxy lehetőséget.
devproxy --as-system-proxy false
Forgalom manuális átirányítása a Dev Proxy-ra
A rendszerproxy-regisztráció letiltásakor az alkalmazások nem irányítják át automatikusan a forgalmat a Dev Proxyn keresztül. Minden alkalmazást konfigurálnia kell a Dev Proxy explicit használatára.
Környezeti változók használata
A forgalom Dev Proxyba való átirányításának leggyakoribb módja a HTTPS_PROXY környezeti változó beállítása.
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Parancssorba:
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Jótanács
Egyes alkalmazások a környezeti változót HTTP_PROXY is támogatják. Mindkettőt beállíthatja, ha az alkalmazás HTTP- és HTTPS-kéréseket is végrehajt.
Nyelvspecifikus konfiguráció
A különböző programozási nyelvek és keretrendszerek saját módszerekkel konfigurálhatják a proxykat:
- Node.js: Használja a globális ügynökcsomagot , vagy konfigurálja közvetlenül a HTTP-ügynököt
-
.NETTÓ: Állítsa be a
HTTPS_PROXYkörnyezeti változót, vagy konfiguráljonHttpClientproxyval (lásd: Dev Proxy használata .NET-alkalmazásokkal) -
Azure Functions: Proxy
local.settings.jsonkonfigurálása (lásd: Dev Proxy használata .NET Azure Functions használatával)
Példa: Az Azure Functions tesztelése az indítás zavarása nélkül
Az Azure Functions a gRPC-t használja a belső kommunikációhoz, ami sikertelen, ha a Dev Proxy regisztrálva van a rendszerproxyként. Ha dev proxyt szeretne használni az Azure Functionsben, tiltsa le a rendszerproxy regisztrációját, és konfigurálja a proxyt környezeti változókon keresztül.
Fájl:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
]
}
Fájl:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
Ezzel a konfigurációval az Azure Functions normál módon indul el, miközben a figyelt URL-címekre irányuló HTTP-kérések dev proxyn keresztül lesznek irányítva.
Példa: Egy alkalmazás tesztelése, miközben másokat nem érint.
Ha egyszerre több alkalmazást fejleszt, érdemes lehet a Dev Proxyt csak egy alkalmazással használni. Tiltsa le a rendszerproxy-regisztrációt, és csak a célalkalmazáshoz állítsa be a környezeti változót.
Fejlesztői proxy indítása rendszerproxy-regisztráció nélkül:
devproxy --as-system-proxy false
Egy külön terminálon futtassa az alkalmazást a konfigurált proxyval:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
A gépen lévő egyéb alkalmazások továbbra is normálisan működnek proxy interferencia nélkül.
Több fejlesztői proxypéldány futtatása
Ha be van állítva asSystemProxyfalse, egyszerre több fejlesztői proxy példányt is futtathat. Minden példány figyeli a saját portját, és példányonkénti állapotfájlokkal követi nyomon a saját állapotát.
Több példány indítása
Indítsa el az egyes példányokat egy másik porton:
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
Egy másik terminálban:
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
Futó példányok állapotának ellenőrzése
Az összes futó példány megtekintéséhez használja a status következő parancsot:
devproxy status
Egy konkrét példány leállítása
Egy adott példány megcélzásához használja az --pid opciót a stop paranccsal.
devproxy stop --pid 6456
Az összes futó példány leállítása:
devproxy stop
Egy adott példány naplóinak megtekintése
Használja a --pid opciót a logs paranccsal.
devproxy logs --pid 6456
Ha a --pid-t devproxy logs nélkül futtatja, a Dev Proxy megjeleníti a rendszerproxy-példány naplóit, vagy a legutóbb elindított példány naplóit, ha egyik sincs regisztrálva rendszerproxyként. A Dev Proxy egy értesítést is kinyomtat, amely közli, hogy melyik példányt választotta ki, és felsorolja a többi futó példány folyamatazonosítóit.
Megjegyzés:
Egyszerre csak egy fejlesztői proxypéldány regisztrálható rendszerproxyként. Ha új példányt asSystemProxy próbál elindítani úgy, hogy true egy másik rendszerproxy-példány már fut, a Dev Proxy letiltja az indítást.