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: Dev Proxy használata a Linuxhoz készült Windows-alrendszerrel (WSL)
Idő: 15 perc
Előfeltételek:Dev Proxy beállítása, telepített WSL
A WSL-ben (Linux Windows alrendszer) futó alkalmazások fejlesztésekor két lehetőség közül választhat a Dev Proxy használatára: a Windows-gazdagépen vagy a WSL-en belül futtatva. Mindkét megközelítésnek megvannak az előnyei a fejlesztési munkafolyamattól függően.
1. lehetőség: Fejlesztői proxy Windows-gazdagépen (ajánlott)
A legegyszerűbb módszer a Dev Proxy telepítése és futtatása Windows rendszeren. A WSL automatikus proxyjával és tükrözött hálózati módjával a WSL a Windows rendszerproxyját használja, így a WSL-ben futó alkalmazások forgalmát a Dev Proxy fogja el a proxy WSL-ben való konfigurálása nélkül.
WSL-hálózatkezelés konfigurálása
A Dev Proxy regisztrálja magát a Windows rendszerproxyként egy localhost-címen (127.0.0.1:8000alapértelmezés szerint). Ahhoz, hogy a WSL-ben futó alkalmazások ezt a proxyt használják, engedélyezze a következő beállításokat a Windows rendszeren, a %UserProfile%\.wslconfig helyen található WSL-konfigurációs fájl [wsl2] szakaszában:
[wsl2]
networkingMode=mirrored
autoProxy=true
| Setting | Description |
|---|---|
networkingMode=mirrored |
A Windows hálózati adaptereket a Linuxba tükrözi, amely lehetővé teszi, hogy a WSL-ben lévő alkalmazások a Windows rendszeren futó kiszolgálókhoz, például a Dev Proxyhoz 127.0.0.1csatlakozzanak. Windows 11 22H2-es vagy újabb verziót igényel. Az alapértelmezett érték a nat. |
autoProxy=true |
A WSL a Windows HTTP-proxybeállításokat használja, hogy a Windowsban konfigurált proxy automatikusan WSL-ben legyen beállítva. Elérhető a Windows 11. Alapértelmezés szerint engedélyezve van. |
A .wslconfig fájl módosítása után indítsa újra a WSL-t, hogy a módosítások érvénybe lépjenek:
wsl --shutdown
Megjegyzés:
Az alapértelmezett NAT hálózati módban a WSL-alkalmazások nem tudnak a 127.0.0.1 használatával csatlakozni a Dev Proxyhoz Windows rendszeren. Ha nem tud tükrözött hálózati módot használni, futtassa inkább a Dev Proxyt a WSL-ben. További információkért lásd: 2. lehetőség: Fejlesztői proxy a WSL-ben.
További információ: Hálózati alkalmazások elérése WSL-vel és Speciális beállítások konfigurálása a WSL-ben.
Fejlesztői proxy beállítása Windows rendszeren
Telepítse a Dev Proxyt Windows rendszeren winget vagy manuális telepítéssel.
Fejlesztői proxy indítása:
devproxyAmikor a rendszer kéri, bízzon meg a tanúsítványban.
Dev Proxy használata a WSL-ből
Amikor a Dev Proxy rendszerproxyként fut Windows rendszeren (az alapértelmezett viselkedés), és beállította a WSL-hálózatkezelést, a WSL-ben futó alkalmazások automatikusan rajta keresztül irányítják a forgalmukat.
Indítsa el az alkalmazást a WSL-ben, ahogy általában tenné. A Dev Proxy elfogja a proxybeállításokat tiszteletben tartó alkalmazások által küldött HTTPS-kéréseket.
Fontos
Indítsa újra a WSL-t a fejlesztői proxy elindítása vagy leállítása után
A WSL beolvassa a Windows proxybeállításokat az indításkor. Ha a WSL futtatása után indítja el a Dev Proxyt, vagy ha leállítja és újraindítja a Dev Proxyt, újra kell indítania a WSL-t a módosítások érvénybe lépéséhez:
wsl --shutdown
Ezután indítsa el az új WSL-munkamenetet.
A tanúsítvány megbízhatósága a WSL-ben
Ahhoz, hogy a Dev Proxy elfogja a HTTPS-forgalmat, a WSL-ben lévő alkalmazásoknak megbízhatónak kell vennie a Dev Proxy tanúsítványt. A tanúsítványt átmásolhatja a Windowsból, vagy exportálhatja a Dev Proxy API használatával.
A lehetőség: A tanúsítvány másolása a Windowsból
A WSL-ben másolja a tanúsítványt a Windowsból:
cp "/mnt/c/Users/<your-username>/AppData/Local/Programs/Dev Proxy/rootCert.pfx" ~/Exportálja és telepítse a tanúsítványt:
# Export the certificate openssl pkcs12 -in ~/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:"" # Install the certificate sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/ # Update certificates sudo update-ca-certificates
B lehetőség: A Dev Proxy API használata
A Dev Proxy API tulajdonosi jogkivonatot igényel. Miközben a Dev Proxy Windowson fut, kérje le a tokent egy Windows terminálban az api token parancs futtatásával:
devproxy api token
Ezután a WSL-ben töltse le és telepítse a tanúsítványt. Cserélje le <token> a lekért jogkivonatra:
# Download the certificate from Dev Proxy API
curl -H "Authorization: Bearer <token>" -o dev-proxy-ca.crt "http://127.0.0.1:8897/proxy/rootCertificate?format=crt"
# Install the certificate
sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/
# Update certificates
sudo update-ca-certificates
Megjegyzés:
Egyes alkalmazások további konfigurációt igényelhetnek a rendszertanúsítvány-tároló megbízhatóságához. Node.js alkalmazások esetében előfordulhat, hogy fejlesztési célokra kell beállítania NODE_TLS_REJECT_UNAUTHORIZED=0 . Nem ajánlott letiltani a tanúsítványérvényesítést a termelési környezetben.
2. lehetőség: Fejlesztői proxy a WSL-ben
Ha teljes egészében a WSL-ben szeretné futtatni a dev proxyt, telepítse a Linux telepítési módszerével, és konfigurálja manuálisan a proxyt.
Dev Proxy telepítése a WSL-ben
A beállítási szkripthez unzip szükséges a Dev Proxy kibontásához. A friss WSL-disztribúciók, például az Ubuntu, alapértelmezés szerint nem tartalmazzák azt.
unzip telepítése:
sudo apt update
sudo apt install unzip
Telepítse a Dev Proxyt a beállítási szkripttel:
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
A proxy manuális konfigurálása
Mivel a WSL nem rendelkezik grafikus asztali környezettel, a dev proxy nem tud automatikusan rendszerproxyként regisztrálni. Konfigurálja az alkalmazásokat úgy, hogy manuálisan használják a proxyt.
Dev Proxy konfigurációs fájl létrehozása a
asSystemProxyértékénekfalsebeállításával.{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json", "asSystemProxy": false, "plugins": [ { "name": "RetryAfterPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll" }, { "name": "GenericRandomErrorPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll", "configSection": "genericRandomErrorPlugin" } ], "urlsToWatch": [ "https://jsonplaceholder.typicode.com/*" ], "genericRandomErrorPlugin": { "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/genericrandomerrorplugin.schema.json", "errorsFile": "devproxy-errors.json", "rate": 50 }, "logLevel": "information" }Fejlesztői proxy indítása:
devproxyMegbízható a tanúsítvány:
# Export Dev Proxy root certificate openssl pkcs12 -in ~/.config/dev-proxy/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:"" # Install the certificate sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/ # Update certificates sudo update-ca-certificatesKonfigurálja az alkalmazást a proxy használatára.
HTTPS_PROXYA környezeti változó beállítása:export HTTPS_PROXY=http://127.0.0.1:8000Vagy adja meg az alkalmazás futtatásakor:
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Jótanács
A proxy Node.js alkalmazásokhoz való konfigurálásáról további információt a Dev Proxy használata Node.js alkalmazásokkal című témakörben talál.
Megközelítések összehasonlítása
| Tulajdonság | Windows-gazdagép (1. lehetőség) | A WSL belsejében (2. lehetőség) |
|---|---|---|
| A beállítás összetettsége | Simple | Mérsékelt |
| Requirements | Windows 11 22H2 vagy újabb, WSL tükrözött hálózati mód | None |
| Tanúsítványkezelés | Egyszeri másolás Windowsról | Manuális exportálás |
| Proxy konfigurálása | Automatikus (WSL automatikus proxy) | Kézikönyv (HTTPS_PROXY) |
| WSL-újraindítás szükséges | Igen, amikor a proxyt átkapcsolja | Nem |
| Az összes WSL-alkalmazással működik | Igen | Az alkalmazásproxy támogatásától függ |
A legtöbb forgatókönyv esetében a Dev Proxy windowsos futtatása (1. lehetőség) az egyszerűség és az automatikus proxykonfiguráció miatt ajánlott módszer.
Hibaelhárítás
A kérések nem kerülnek elfogásra a Windows gazdagép használatakor.
Ha a Windows dev proxyja nem elfogja a WSL-től érkező kéréseket:
Ellenőrizze, hogy a
networkingMode=mirroredésautoProxy=trueaz Ön.wslconfigfájljának[wsl2]szakaszában vannak beállítva. További információ: WSL-hálózatkezelés konfigurálása.Indítsa újra a WSL-t a proxybeállítások frissítéséhez:
wsl --shutdownEllenőrizze, hogy a fejlesztői proxy fut-e és regisztrálva van-e rendszerproxyként.
Ellenőrizze, hogy a fejlesztői proxy tanúsítványa megbízható-e a WSL-ben.
unzip: a parancs nem található
Ha a beállítási szkript unzip: command not found hibával meghiúsul, telepítse unzip és futtassa újra a telepítőszkriptet:
sudo apt update
sudo apt install unzip
Tanúsítványhibák
Ha tanúsítványhibákat lát:
- Győződjön meg arról, hogy telepítette a tanúsítványt a WSL-ben a tanúsítvány megbízhatósága a WSL-ben lépésekkel.
- Előfordulhat, hogy Node.js alkalmazások esetében konfigurálnia kell az alkalmazást a proxyügynök használatára. Lásd: Dev Proxy használata Node.js alkalmazásokkal.
WSL hálózatkezelési problémák
A WSL 2 virtualizált hálózati adaptert használ. Ha hálózati problémákat tapasztal:
- Győződjön meg arról, hogy a Windows tűzfal engedélyezi a fejlesztői proxy használatát.
- Próbálja meg használni
localhosta127.0.0.1proxycím konfigurálása helyett.