Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na pierwszy rzut oka
Celem: Używanie serwera proxy dev z podsystemem Windows dla systemu Linux (WSL)
Czas: 15 minut
Wymagania wstępne:Skonfiguruj serwer proxy dewelopera, zainstalowany WSL
Podczas tworzenia aplikacji w podsystemie WSL (Podsystem Windows dla systemu Linux) dostępne są dwie opcje korzystania z serwera proxy deweloperskiego: uruchamianie go na hoście systemu Windows lub w środowisku WSL. Oba podejścia mają swoje zalety w zależności od przepływu pracy programowania.
Opcja 1. Serwer proxy deweloperski na hoście systemu Windows (zalecane)
Najprostszym podejściem jest zainstalowanie i uruchomienie serwera proxy deweloperskiego w systemie Windows. Dzięki funkcji Auto Proxy i trybowi sieci lustrzanej w WSL, WSL używa systemowego serwera proxy Windows, więc aplikacje działające w WSL mają swój ruch przechwytywany przez Dev Proxy bez konfigurowania serwera proxy w WSL.
Konfigurowanie sieci WSL
Dev Proxy rejestruje się jako serwer proxy systemu Windows pod adresem localhost (127.0.0.1:8000 domyślnie). Aby aplikacje w WSL mogły korzystać z tego serwera proxy, włącz następujące ustawienia w sekcji [wsl2] pliku konfiguracji WSL znajdującego się pod adresem %UserProfile%\.wslconfig w systemie Windows:
[wsl2]
networkingMode=mirrored
autoProxy=true
| Setting | Description |
|---|---|
networkingMode=mirrored |
Dubluje interfejsy sieciowe Windows w systemie Linux, co umożliwia aplikacjom w programie WSL łączenie się z serwerami działającymi w systemie Windows, takimi jak Dev Proxy, przy użyciu polecenia 127.0.0.1. Wymaga Windows 11 wersji 22H2 lub nowszej. Wartość domyślna to nat. |
autoProxy=true |
Powoduje, że WSL używa ustawień serwera proxy HTTP systemu Windows, dzięki czemu serwer proxy skonfigurowany w systemie Windows jest automatycznie ustawiany w WSL. Dostępne na Windows 11. Włączone domyślnie. |
Po zmianie .wslconfig pliku uruchom ponownie program WSL, aby zmiany zostały zastosowane:
wsl --shutdown
Uwaga / Notatka
W domyślnym trybie sieci NAT aplikacje w programie WSL nie mogą łączyć się z Dev Proxy w systemie Windows za pomocą 127.0.0.1. Jeśli nie możesz użyć trybu sieci lustrzanej, uruchom zamiast niego Dev Proxy w WSL. Aby uzyskać więcej informacji, zobacz Option 2: Dev Proxy inside WSL.
Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do aplikacji sieciowych przy użyciu protokołu WSL i konfiguracja ustawień zaawansowanych w programie WSL.
Konfigurowanie serwera proxy deweloperskiego w systemie Windows
Zainstaluj Dev Proxy w systemie Windows z użyciem winget lub instalacji ręcznej.
Uruchom serwer proxy deweloperów:
devproxyPo wyświetleniu monitu ufaj certyfikatowi.
Korzystanie z serwera proxy deweloperskiego z poziomu usługi WSL
Gdy Dev Proxy działa jako systemowy serwer proxy w systemie Windows (zachowanie domyślne) i jeśli skonfigurowano sieć WSL, aplikacje w WSL automatycznie kierują swój ruch przez ten serwer proxy.
Uruchom aplikację w programie WSL tak, jak zwykle. Dev Proxy przechwytuje żądania HTTPS wysyłane przez aplikacje, które przestrzegają ustawień serwera proxy.
Ważna
Uruchom ponownie usługę WSL po uruchomieniu lub zatrzymaniu serwera proxy deweloperskiego
Podczas uruchamiania program WSL odczytuje ustawienia serwera proxy Windows. Jeśli uruchomisz serwer proxy deweloperów, gdy WSL jest już uruchomione, lub jeśli zatrzymasz i ponownie uruchomisz serwer proxy deweloperów, musisz ponownie uruchomić WSL, aby zmiany zaczęły obowiązywać.
wsl --shutdown
Następnie uruchom nową sesję WSL.
Ufaj certyfikatowi w programie WSL
Aby Dev Proxy przechwycił ruch HTTPS, aplikacje w WSL muszą ufać certyfikatowi Dev Proxy. Możesz skopiować certyfikat z systemu Windows lub wyeksportować go przy użyciu interfejsu API serwera proxy deweloperów.
Opcja A: Kopiowanie certyfikatu z systemu Windows
W programie WSL skopiuj certyfikat z systemu Windows:
cp "/mnt/c/Users/<your-username>/AppData/Local/Programs/Dev Proxy/rootCert.pfx" ~/Eksportuj i zainstaluj certyfikat:
# 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
Opcja B: Użyj interfejsu API serwera proxy dewelopera
Dev Proxy API wymaga tokenu bearer. Gdy Dev Proxy jest uruchomiony w systemie Windows, pobierz token, uruchamiając polecenie api token w terminalu systemu Windows:
devproxy api token
Następnie w programie WSL pobierz i zainstaluj certyfikat. Zastąp <token> tokenem, który został pobrany:
# 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
Uwaga / Notatka
Niektóre aplikacje mogą wymagać dodatkowej konfiguracji, aby ufać magazynowi certyfikatów systemowych. W przypadku Node.js aplikacji może być konieczne ustawienie NODE_TLS_REJECT_UNAUTHORIZED=0 na potrzeby programowania. Wyłączenie weryfikacji certyfikatu nie jest zalecane w przypadku kodu produkcyjnego.
Opcja 2. Serwer proxy deweloperski wewnątrz programu WSL
Jeśli wolisz uruchamiać serwer proxy dev w całości w programie WSL, zainstaluj go przy użyciu metody instalacji systemu Linux i skonfiguruj serwer proxy ręcznie.
Instalowanie serwera proxy deweloperskiego w programie WSL
Skrypt konfiguracji wymaga unzip, aby wyodrębnić Dev Proxy. Świeże dystrybucje WSL, takie jak Ubuntu, nie zawierają go domyślnie. Zainstaluj program unzip:
sudo apt update
sudo apt install unzip
Zainstaluj serwer proxy deweloperów przy użyciu skryptu konfiguracji:
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
Ręczne konfigurowanie serwera proxy
Ponieważ WSL nie ma graficznego środowiska pulpitu, Dev Proxy nie może się automatycznie zarejestrować jako serwer proxy systemowy. Skonfiguruj aplikacje do ręcznego używania serwera proxy.
Utwórz plik konfiguracji serwera proxy dewelopera z ustawioną wartością
asSystemProxyfalse:{ "$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" }Uruchom serwer proxy deweloperów:
devproxyUfaj certyfikatowi:
# 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-certificatesSkonfiguruj aplikację tak, aby korzystała z serwera proxy. Ustaw zmienną środowiskową
HTTPS_PROXY:export HTTPS_PROXY=http://127.0.0.1:8000Możesz też określić ją podczas uruchamiania aplikacji:
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Wskazówka
Aby uzyskać więcej informacji na temat konfigurowania serwera proxy dla aplikacji Node.js, zobacz Use Dev Proxy with Node.js applications (Używanie serwera proxy deweloperskiego z aplikacjami Node.js).
Porównanie podejść
| Funkcja | Host systemu Windows (opcja 1) | Wewnątrz WSL (opcja 2) |
|---|---|---|
| Złożoność instalacji | Uproszczony | Umiarkowane |
| Requirements | Windows 11 22H2 lub nowszy, tryb sieci lustrzanej WSL | None |
| Zarządzanie certyfikatami | Jednorazowa kopia z systemu Windows | Eksportowanie ręczne |
| Konfiguracja serwera proxy | Automatyczne (WSL Auto Proxy) | Ręczne (HTTPS_PROXY) |
| Wymagane jest ponowne uruchomienie programu WSL | Tak, podczas przełączania serwera proxy | Nie. |
| Działa ze wszystkimi aplikacjami WSL | Tak | Zależy od obsługi serwera proxy aplikacji |
W większości scenariuszy uruchomienie serwera proxy deweloperskiego w systemie Windows (opcja 1) jest zalecanym podejściem ze względu na prostotę i automatyczną konfigurację serwera proxy.
Rozwiązywanie problemów
Żądania nie są przechwytywane podczas korzystania z hosta systemu Windows
Jeśli serwer proxy dev w systemie Windows nie przechwytuje żądań z programu WSL:
Sprawdź, czy elementy
networkingMode=mirrorediautoProxy=truesą ustawione w sekcji[wsl2]pliku.wslconfig. Aby uzyskać więcej informacji, zobacz Konfigurowanie sieci WSL.Uruchom ponownie program WSL, aby odświeżyć ustawienia serwera proxy:
wsl --shutdownSprawdź, czy Dev Proxy jest uruchomiony i zarejestrowany jako serwer proxy systemowy.
Sprawdź, czy certyfikat proxy dla deweloperów jest zaufany w WSL (Windows Subsystem for Linux).
unzip: nie znaleziono polecenia
Jeśli skrypt instalacyjny zakończy się niepowodzeniem z powodu błędu unzip: command not found , zainstaluj unzip i ponownie uruchom skrypt instalacyjny:
sudo apt update
sudo apt install unzip
Błędy certyfikatu
Jeśli wystąpią błędy certyfikatu:
- Upewnij się, że certyfikat został zainstalowany w programie WSL, wykonując kroki opisane w temacie Ufaj certyfikatowi w programie WSL.
- W przypadku aplikacji Node.js może być konieczne skonfigurowanie aplikacji do korzystania z agenta serwera proxy. Zobacz Use Dev Proxy with Node.js applications (Używanie serwera proxy deweloperskiego z aplikacjami Node.js).
Problemy z siecią WSL
Program WSL 2 używa zwirtualizowanej karty sieciowej. Jeśli wystąpią problemy z siecią:
- Upewnij się, że zapora systemu Windows zezwala na Dev Proxy.
- Spróbuj użyć
localhostzamiast127.0.0.1podczas konfigurowania adresu serwera proxy.