Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На первый взгляд
Цель: Управление тем, указывает ли Dev Proxy весь системный трафик или только явно перенаправленный трафик
Время: 5 минут
Предварительные требования:настройка прокси-сервера разработки
По умолчанию при запуске прокси-сервера разработки он регистрируется в качестве системного прокси-сервера. В результате весь трафик HTTP/HTTPS на компьютере автоматически направляется через прокси-сервер разработки. Прозрачная маршрутизация всего трафика через прокси-сервер разработки хорошо подходит для большинства сценариев—вы запускаете прокси-сервер разработки, и он немедленно перехватывает запросы вашего приложения без дополнительной настройки.
Однако существуют ситуации, когда может потребоваться больше контроля над тем, какой трафик проходит через прокси разработки. Этот asSystemProxy параметр позволяет отключить автоматическую регистрацию прокси-сервера системы, обеспечивая точное управление тем, какие приложения используют прокси-сервер разработки.
Когда отключить регистрацию системного прокси-сервера
Рассмотрите установку asSystemProxy в false, когда:
- Вы находитесь в корпоративной сети с существующими параметрами прокси-сервера, которые вы не хотите переопределить
- Вы хотите протестировать конкретное приложение, не влияя на другие приложения, работающие на компьютере.
- Другие приложения завершаются сбоем , когда прокси-сервер разработки перехватывает их трафик (например, Функции Azure)
- Вы используете несколько экземпляров Dev Proxy и хотите перенаправить трафик к определенным экземплярам.
- Вы хотите свести к минимуму вмешательство в системные службы и фоновые процессы
Настройка параметра системного прокси-сервера
Этот asSystemProxy параметр можно настроить двумя способами: с помощью файла конфигурации или командной строки.
Файл конфигурации
Чтобы постоянно отключить регистрацию системного прокси, добавьте в файл конфигурации параметр asSystemProxy.
Файл:devproxyrc.json
Цель: Отключение автоматической регистрации прокси-сервера системы
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.0.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
Командная строка
Чтобы отключить регистрацию системного прокси-сервера для одного сеанса, используйте параметр --as-system-proxy.
devproxy --as-system-proxy false
Маршрутизация трафика к Dev Proxy вручную
При отключении регистрации системного прокси приложения не автоматически направляют свой трафик через прокси-сервер для разработки. Необходимо настроить каждое приложение для явного использования прокси-сервера разработки.
Использование переменных среды
Наиболее распространенным способом маршрутизации трафика в прокси-сервер разработки является установка переменной HTTPS_PROXY среды.
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Командная строка:
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Подсказка
Некоторые приложения также поддерживают HTTP_PROXY переменную среды. Установите оба значения, если приложение выполняет http-запросы и HTTPS.
Конфигурация для конкретного языка
Различные языки программирования и платформы имеют собственные способы настройки прокси-серверов:
- Node.js: Использование пакета глобального агента или настройка агента HTTP напрямую
-
.NET: Установите переменную
HTTPS_PROXYсреды или настройтеHttpClientс прокси-сервером (см. Использование Dev Proxy с приложениями .NET) -
Функции Azure: Настройка прокси-сервера в
local.settings.json(см. раздел "Использование прокси-сервера разработки" с функциями .NET Azure)
Пример. Тестирование функций Azure без вмешательства в запуск
Функции Azure используют gRPC для внутренней связи, что приводит к сбою при регистрации Dev Proxy в качестве системного прокси-сервера. Чтобы использовать прокси-сервер разработки с функциями Azure, отключите регистрацию системного прокси-сервера и настройте прокси-сервер с помощью переменных среды.
Файл:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.0.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
]
}
Файл:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
С этой конфигурацией Функции Azure запускаются как обычно, а HTTP-запросы к отслеживаемым URL-адресам перенаправляются через Dev Proxy.
Пример. Тестирование одного приложения при сохранении других не затронутых
При одновременной разработке нескольких приложений может потребоваться использовать прокси-сервер разработки только с одним из них. Отключите регистрацию системного прокси-сервера и задайте переменную среды только для целевого приложения.
Запустите Dev Proxy без регистрации в системном прокси:
devproxy --as-system-proxy false
В отдельном терминале запустите приложение с настроенным прокси-сервером:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Другие приложения на компьютере продолжают работать нормально без каких-либо помех прокси-сервера.
Запуск нескольких экземпляров прокси-сервера разработки
Если задано значение asSystemProxyfalse, можно одновременно запускать несколько экземпляров прокси-сервера разработки. Каждый экземпляр прослушивает собственный порт и отслеживает свое состояние с помощью файлов состояния, специфичных для каждого экземпляра.
Запуск нескольких экземпляров
Запустите каждый экземпляр на другом порту:
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
В другом терминале:
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
Проверка состояния запущенных экземпляров
Чтобы просмотреть все запущенные экземпляры, используйте status команду:
devproxy status
Остановка конкретного экземпляра
Чтобы нацелить конкретный экземпляр, используйте опцию --pid с командой stop.
devproxy stop --pid 6456
Чтобы остановить все запущенные экземпляры, выполните приведенные далее действия.
devproxy stop
Просмотр журналов с определенной инстанции
Используйте параметр --pid с командой logs.
devproxy logs --pid 6456
Замечание
Одновременно в качестве системного прокси-сервера можно зарегистрировать только один экземпляр прокси-сервера разработки. Если вы пытаетесь запустить новый экземпляр с параметром asSystemProxy, установленным на значение true, при том что другой экземпляр системного прокси уже работает, Dev Proxy блокирует запуск.
См. также
- Параметры прокси-сервера — все параметры конфигурации
- Команда статуса
- Команда остановки
- Команда "logs"
- Использование прокси-сервера разработки с приложениями Node.js
- Использование прокси-сервера разработки с приложениями .NET
- Использование прокси-сервера разработки с функциями .NET Azure
- Прокси-сервер разработки не перехватывает запросы