Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На первый взгляд
Цель: Настройка PowerShell для работы с прокси-сервером разработки
Время: 5 минут
Предварительные требования:настройка прокси-сервера разработки
Прокси-сервер разработки работает с PowerShell во всех операционных системах. В macOS и Linux PowerShell правильно обнаруживает изменения системного прокси-сервера и дополнительная конфигурация не требуется. В Windows PowerShell кэширует параметры прокси-сервера, которые требуют дополнительных действий.
macOS и Linux
В macOS и Linux PowerShell автоматически обнаруживает изменения системного прокси-сервера. Запустите прокси-сервер разработки и используйте PowerShell, как правило, запросы перехватываются без дополнительной настройки.
Виндоус
При использовании прокси-сервера разработки с PowerShell в Windows могут возникнуть проблемы, когда PowerShell не обнаруживает время запуска или остановки системного прокси-сервера. Эта проблема влияет на Windows PowerShell (5.1) и PowerShell 7+ (Core).
Проблема
В Windows сеансы PowerShell кэшируют параметры системного прокси-сервера при запуске. Это означает, что если вы:
- Открытие сеанса PowerShell
- Запуск прокси-сервера разработки (который настраивает себя в качестве системного прокси-сервера)
- Создание HTTP-запросов из исходного сеанса PowerShell
Запросы не направляются через прокси-сервер разработки, так как PowerShell использует кэшированные параметры прокси-сервера при запуске сеанса.
Аналогичным образом, если вы:
- Запуск прокси-сервера разработки
- Откройте сеанс PowerShell и выполните запросы (они перехватываются корректно)
- Остановка прокси-сервера разработки
- Выполнение запросов из одного сеанса PowerShell
Запросы завершаются ошибкой, так как PowerShell по-прежнему пытается использовать прокси-сервер, который больше не существует.
Обходное решение. Перезапуск сеанса PowerShell
Проще всего перезапустить сеанс PowerShell после запуска или остановки прокси-сервера разработки. Перезапуск сеанса гарантирует, что PowerShell выбирает текущие параметры прокси-сервера системы.
Альтернатива. Настройка прокси-сервера вручную
Вместо того чтобы полагаться на обнаружение системного прокси-сервера, вы можете настроить прокси-сервер Dev, чтобы он не регистрировался в качестве системного прокси, и вручную настроить прокси в PowerShell.
Шаг 1. Запуск прокси-сервера разработки без системного прокси-сервера
Запустите прокси-сервер разработки с параметром --as-system-proxy false :
devproxy --as-system-proxy false
Шаг 2. Установка переменной среды прокси-сервера в PowerShell
В сеансе PowerShell задайте HTTPS_PROXY переменную среды:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
Если вам также нужно перехватывать HTTP-запросы:
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Шаг 3. Очистка прокси-сервера при завершении
Когда вы закончите работу с помощью прокси-сервера разработки, очистите переменные среды:
$env:HTTPS_PROXY = $null
$env:HTTP_PROXY = $null
Использование профиля PowerShell
Чтобы упростить настройку прокси-сервера, можно создать функции в профиле PowerShell. Добавьте следующее в ваш файл $PROFILE.
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"
}
Затем можно использовать Set-DevProxy и Clear-DevProxy команды для быстрого включения или отключения прокси-сервера в сеансе PowerShell.