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: Konfigurowanie PowerShell do pracy z Dev Proxy
Czas: 5 minut
Wymagania wstępne:konfigurowanie serwera proxy deweloperskiego
Serwer proxy dev działa z programem PowerShell we wszystkich systemach operacyjnych. W systemach macOS i Linux program PowerShell poprawnie wykrywa zmiany serwera proxy systemu i nie jest wymagana żadna dodatkowa konfiguracja. W systemie Windows program PowerShell buforuje ustawienia serwera proxy, które wymagają dodatkowych kroków.
macOS i Linux
W systemach macOS i Linux program PowerShell automatycznie wykrywa zmiany serwera proxy systemu. Uruchom serwer proxy deweloperów i użyj programu PowerShell w zwykły sposób — żądania są przechwytywane bez żadnej dodatkowej konfiguracji.
Windows
W przypadku korzystania z serwera proxy dev z programem PowerShell w systemie Windows mogą wystąpić problemy, w których program PowerShell nie wykrywa uruchamiania lub zatrzymywania serwera proxy systemu. Ten problem dotyczy programu Windows PowerShell (5.1) i programu PowerShell 7+ (Core).
Problem
W systemie Windows sesje programu PowerShell buforują ustawienia serwera proxy systemu po uruchomieniu. Oznacza to, że jeśli:
- Otwieranie sesji programu PowerShell
- Uruchom serwer proxy dev (który konfiguruje się jako serwer proxy systemu)
- Wysyłaj żądania HTTP z oryginalnej sesji programu PowerShell
Żądania nie są kierowane za pośrednictwem serwera proxy deweloperskiego, ponieważ program PowerShell używa buforowanych ustawień serwera proxy z momentu rozpoczęcia sesji.
Podobnie, jeśli:
- Uruchamianie serwera proxy deweloperskiego
- Otwórz sesję programu PowerShell i wysyłaj żądania (są one przechwytywane poprawnie)
- Zatrzymaj serwer proxy deweloperski
- Wysyłaj żądania z tej samej sesji programu PowerShell
Żądania kończą się niepowodzeniem, ponieważ program PowerShell nadal próbuje użyć serwera proxy, który już nie istnieje.
Obejście: Uruchom ponownie sesję programu PowerShell
Najprostszym obejściem jest ponowne uruchomienie sesji programu PowerShell po uruchomieniu lub zatrzymaniu serwera proxy deweloperskiego. Ponowne uruchomienie sesji gwarantuje, że program PowerShell pobiera bieżące ustawienia serwera proxy systemu.
Alternatywa: ręczne ustawianie serwera proxy
Zamiast polegać na wykrywaniu serwera proxy systemu, można skonfigurować Dev Proxy, aby nie rejestrował się jako serwer proxy systemu i ustawić serwer proxy ręcznie w programie PowerShell.
Krok 1. Uruchamianie serwera proxy deweloperskiego bez serwera proxy systemu
Uruchom serwer proxy deweloperów z opcją --as-system-proxy false :
devproxy --as-system-proxy false
Krok 2. Ustawianie zmiennej środowiskowej serwera proxy w programie PowerShell
W sesji programu PowerShell ustaw zmienną HTTPS_PROXY środowiskową:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
Jeśli musisz również przechwycić żądania HTTP:
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Krok 3. Wyczyść serwer proxy po zakończeniu
Po zakończeniu korzystania z serwera proxy deweloperskiego wyczyść zmienne środowiskowe:
$env:HTTPS_PROXY = $null
$env:HTTP_PROXY = $null
Korzystanie z profilu programu PowerShell
Aby uprościć ustawianie serwera proxy, możesz tworzyć funkcje w profilu programu PowerShell. Dodaj następujące elementy do $PROFILE pliku:
function Set-DevProxy {
$env:HTTP_PROXY = "http://127.0.0.1:8000"
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
Write-Host "Dev Proxy enabled"
}
function Clear-DevProxy {
$env:HTTP_PROXY = $null
$env:HTTPS_PROXY = $null
Write-Host "Dev Proxy disabled"
}
Następnie możesz użyć poleceń Set-DevProxy i Clear-DevProxy, aby szybko włączyć lub wyłączyć serwer proxy w sesji programu PowerShell.