Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Auf einen Blick
Ziel: Verwenden von Dev Proxy mit Windows-Subsystem für Linux (WSL)
Zeit: 15 Minuten
Voraussetzungen:Dev-Proxy einrichten, WSL installiert
Beim Entwickeln von Anwendungen in WSL (Windows-Subsystem für Linux) haben Sie zwei Optionen für die Verwendung von Dev Proxy: Ausführen auf Ihrem Windows-Host oder in WSL. Beide Ansätze haben je nach Entwicklungsworkflow ihre Vorteile.
Option 1: Dev Proxy auf Windows-Host (empfohlen)
Der einfachste Ansatz besteht darin, Dev Proxy unter Windows zu installieren und auszuführen. Mit dem Autoproxy- und gespiegelten Netzwerkmodus von WSL verwendet WSL den Windows-Systemproxy, sodass der Datenverkehr von Anwendungen, die in WSL ausgeführt werden, von Dev Proxy abgefangen wird, ohne dass der Proxy in WSL konfiguriert wird.
WSL-Netzwerk konfigurieren
Dev Proxy registriert sich selbst als Windows Systemproxy auf einer localhost-Adresse (127.0.0.1:8000 standardmäßig). Damit Anwendungen in WSL diesen Proxy verwenden können, aktivieren Sie die folgenden Einstellungen im Abschnitt [wsl2] der WSL-Konfigurationsdatei unter %UserProfile%\.wslconfig unter Windows:
[wsl2]
networkingMode=mirrored
autoProxy=true
| Setting | Description |
|---|---|
networkingMode=mirrored |
Spiegelt die Windows-Netzwerkschnittstellen in Linux, sodass Anwendungen in WSL mithilfe von 127.0.0.1 eine Verbindung mit Servern herstellen können, die unter Windows ausgeführt werden, z. B. Dev Proxy. Erfordert Windows 11 Version 22H2 oder höher. Der Standardwert ist nat. |
autoProxy=true |
Bewirkt, dass WSL die Windows-HTTP-Proxyeinstellungen verwendet, sodass der für Windows konfigurierte Proxy automatisch in WSL festgelegt wird. Verfügbar auf Windows 11. Standardmäßig aktiviert. |
Nachdem Sie die .wslconfig Datei geändert haben, starten Sie WSL neu, damit die Änderungen wirksam werden:
wsl --shutdown
Hinweis
Im standardmäßigen NAT-Netzwerkmodus können Anwendungen in WSL unter Verwendung von 127.0.0.1 keine Verbindung mit Dev Proxy unter Windows herstellen. Wenn Sie den gespiegelten Netzwerkmodus nicht verwenden können, führen Sie stattdessen Dev Proxy in WSL aus. Weitere Informationen finden Sie unter Option 2: Dev Proxy in WSL.
Weitere Informationen finden Sie unter Zugriff auf Netzwerkanwendungen mit WSL und Erweiterte Einstellungen in WSL konfigurieren.
Einrichten von Dev Proxy unter Windows
Installieren Sie Dev Proxy unter Windows mithilfe von Winget oder manueller Installation.
Dev-Proxy starten:
devproxyVertrauen Sie dem Zertifikat, wenn Sie dazu aufgefordert werden.
Verwenden des Dev-Proxys von WSL
Wenn Dev Proxy als Systemproxy auf Windows (Standardverhalten) ausgeführt wird und Sie WSL-Netzwerkeinstellungen konfiguriert haben, leiten Anwendungen in WSL ihren Datenverkehr automatisch durch ihn.
Starten Sie Ihre Anwendung wie gewohnt in WSL. Dev Proxy fängt HTTPS-Anforderungen von Anwendungen ab, die die Proxyeinstellungen respektieren.
Von Bedeutung
Starten Sie WSL nach dem Starten oder Beenden des Dev-Proxys neu.
WSL liest beim Start die Windows-Proxyeinstellungen. Wenn Sie dev Proxy starten, nachdem WSL bereits ausgeführt wurde, oder wenn Sie den Dev Proxy beenden und neu starten, müssen Sie WSL neu starten, damit die Änderungen wirksam werden:
wsl --shutdown
Starten Sie dann eine neue WSL-Sitzung.
Vertraue dem Zertifikat in WSL
Damit Dev Proxy HTTPS-Datenverkehr abfangen kann, müssen Anwendungen in WSL dem Dev-Proxyzertifikat vertrauen. Sie können das Zertifikat entweder aus Windows kopieren oder mithilfe der Dev Proxy-API exportieren.
Option A: Kopieren des Zertifikats aus Windows
Kopieren Sie in WSL das Zertifikat von Windows:
cp "/mnt/c/Users/<your-username>/AppData/Local/Programs/Dev Proxy/rootCert.pfx" ~/Exportieren und Installieren des Zertifikats:
# 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
Option B: Verwenden der Dev-Proxy-API
Für die Dev Proxy-API ist ein Bearertoken erforderlich. Während Dev Proxy auf Windows ausgeführt wird, rufen Sie das Token ab, indem Sie den Befehl api token in einem Windows-Terminal ausführen:
devproxy api token
Laden Sie dann in WSL das Zertifikat herunter, und installieren Sie es. Ersetzen Sie <token> durch das token, das Sie abgerufen haben:
# 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
Hinweis
Für einige Anwendungen ist möglicherweise eine zusätzliche Konfiguration erforderlich, um dem Systemzertifikatspeicher zu vertrauen. Für Node.js Anwendungen müssen Sie möglicherweise für Entwicklungszwecke festlegen NODE_TLS_REJECT_UNAUTHORIZED=0 . Das Deaktivieren der Zertifikatüberprüfung wird für Produktionscode nicht empfohlen.
Option 2: Entwicklungs-Proxy im WSL
Wenn Sie Dev Proxy vollständig in WSL ausführen möchten, installieren Sie ihn mit der Linux-Installationsmethode, und konfigurieren Sie den Proxy manuell.
Installieren von Dev Proxy in WSL
Das Setupskript benötigt unzip, um Dev Proxy zu extrahieren. Neue WSL-Distributionen, wie Ubuntu, enthalten es nicht standardmäßig. Installieren Sie unzip:
sudo apt update
sudo apt install unzip
Installieren Sie Dev Proxy mithilfe des Setupskripts:
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
Manuelles Konfigurieren des Proxys
Da WSL nicht über eine grafische Desktopumgebung verfügt, kann Dev Proxy nicht automatisch als Systemproxy registriert werden. Konfigurieren Sie Ihre Anwendungen so, dass der Proxy manuell verwendet wird.
Erstellen Sie eine Konfigurationsdatei für Dev Proxy mit
asSystemProxyauffalseeingestellt.{ "$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" }Dev-Proxy starten:
devproxyVertrauen Sie dem Zertifikat:
# 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-certificatesKonfigurieren Sie Ihre Anwendung für die Verwendung des Proxys. Festlegen der
HTTPS_PROXYUmgebungsvariable:export HTTPS_PROXY=http://127.0.0.1:8000Oder geben Sie sie beim Ausführen der Anwendung an:
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Tipp
Weitere Informationen zum Konfigurieren des Proxys für Node.js Anwendungen finden Sie unter Verwenden von Dev Proxy mit Node.js Anwendungen.
Vergleich von Ansätzen
| Merkmal | Windows-Host (Option 1) | Innerhalb WSL (Option 2) |
|---|---|---|
| Einrichtungskomplexität | Simple | Mäßig |
| Requirements | Windows 11 22H2 oder höher, WSL-Netzwerkmodus mit Spiegelung | None |
| Zertifikatverwaltung | Einmalige Kopie von Windows | Manueller Export |
| Proxykonfiguration | Automatisch (WSL Auto Proxy) | Manuell (HTTPS_PROXY) |
| WSL-Neustart erforderlich | Ja, beim Umschalten des Proxys | Nein |
| Funktioniert mit allen WSL-Apps | Ja | Hängt von der App-Proxyunterstützung ab |
Für die meisten Szenarien ist die Ausführung von Dev Proxy unter Windows (Option 1) aufgrund ihrer Einfachheit und der automatischen Proxykonfiguration der empfohlene Ansatz.
Problembehandlung
Anforderungen werden nicht abgefangen, wenn man den Windows-Host verwendet.
Wenn der Dev Proxy unter Windows keine Anforderungen von WSL abfängt, befolgen Sie diese Schritte:
Stellen Sie sicher, dass
networkingMode=mirroredundautoProxy=trueim[wsl2]-Abschnitt Ihrer.wslconfig-Datei festgelegt sind. Weitere Informationen finden Sie unter Konfigurieren des WSL-Netzwerks.Starten Sie WSL neu, um Proxyeinstellungen zu aktualisieren:
wsl --shutdownÜberprüfen Sie, ob Dev Proxy ausgeführt und als Systemproxy registriert ist.
Überprüfen Sie, ob das Dev Proxy-Zertifikat in WSL vertrauenswürdig ist.
unzip: Befehl nicht gefunden
Wenn das Setupskript mit dem unzip: command not found Fehler fehlschlägt, installieren Sie unzip und führen Sie das Setupskript erneut aus:
sudo apt update
sudo apt install unzip
Zertifikatfehler
Wenn Zertifikatfehler angezeigt werden:
- Stellen Sie sicher, dass Sie das Zertifikat in WSL installiert haben, und führen Sie die Schritte unter "Vertrauen" des Zertifikats in WSL aus.
- Für Node.js Anwendungen müssen Sie die Anwendung möglicherweise so konfigurieren, dass der Proxy-Agent verwendet wird. Weitere Informationen finden Sie unter Verwenden des Dev-Proxys mit Node.js Anwendungen.
WSL-Netzwerkprobleme
WSL 2 verwendet einen virtualisierten Netzwerkadapter. Wenn Netzwerkprobleme auftreten:
- Stellen Sie sicher, dass Ihre Windows-Firewall Dev-Proxy zulässt.
- Verwenden Sie
localhostanstelle von127.0.0.1, wenn Sie die Proxyadresse konfigurieren.