Поделиться через


Настройка прокси-сервера разработки

Прокси-сервер разработки — это средство командной строки, которое помогает имитировать поведение и ошибки облачных API для создания устойчивых приложений.

В этом руководстве описано, как установить и запустить прокси-сервер разработки.

Установка прокси-сервера разработки

Самый простой способ установить прокси-сервер разработки — использовать winget. Кроме того, можно вручную установить прокси-сервер разработки.

Чтобы установить прокси-сервер разработки с помощью winget, выполните следующую команду:

winget install Microsoft.DevProxy --silent

Важный

Установщик прокси-сервера разработки добавляет новую запись в PATH. Чтобы использовать прокси-сервер разработки после установки, необходимо перезапустить командную строку, чтобы обновить переменную среды PATH.

Заметка

Чтобы попробовать последние предварительные функции, установите бета-версию прокси-сервера разработки.

Чтобы установить прокси-сервер разработки с помощью winget, выполните следующую команду:

winget install Microsoft.DevProxy.Beta --silent

Чтобы запустить бета-версию прокси разработки, используйте devproxy-beta

Самый простой способ установить прокси-сервер разработки — использовать Homebrew. Кроме того, можно вручную установить прокси-сервер разработки.

Чтобы установить прокси-сервер разработки с помощью Homebrew, выполните следующие команды:

brew tap dotnet/dev-proxy
brew install dev-proxy

Заметка

Чтобы попробовать последние предварительные функции, установите бета-версию Dev Proxy.

Чтобы установить прокси-сервер разработки с помощью Homebrew, выполните следующие команды:

brew tap dotnet/dev-proxy
brew install dev-proxy-beta

Чтобы запустить бета-версию Dev Proxy, используйте devproxy-beta

Самый простой способ установить прокси-сервер разработки — использовать скрипт установки. Кроме того, можно вручную установить прокси-сервер разработки.

Чтобы установить прокси-сервер разработки с помощью скрипта установки, выполните следующие команды:

bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"

Если вы используете PowerShell, выполните следующую команду:

(Invoke-WebRequest https://aka.ms/devproxy/setup.ps1).Content | Invoke-Expression

Заметка

Чтобы попробовать последние предварительные функции, установите бета-версию Dev Proxy.

Чтобы установить прокси-сервер разработки с помощью скрипта установки, выполните следующие команды:

bash -c "$(curl -sL https://aka.ms/devproxy/setup-beta.sh)"

Если вы используете PowerShell, выполните следующую команду:

(Invoke-WebRequest https://aka.ms/devproxy/setup-beta.ps1).Content | Invoke-Expression

Чтобы запустить бета-версию прокси для разработки, используйте devproxy-beta

"Запуск прокси-сервера для разработки в первый раз"

При первом запуске прокси-сервера разработки на компьютере необходимо выполнить несколько шагов, чтобы убедиться, что прокси-сервер разработки может перехватывать запросы с компьютера и успешно реагировать. После первого запуска вам не придется повторять эти шаги.

  1. запуск прокси-сервера для разработки. Откройте сеанс командной строки. Введите devproxy и нажмите ВВОД.
  2. сертификат доверия. Dev Proxy устанавливает сертификат с именем Dev Proxy CA. Отображается предупреждение. Выберите Yes, чтобы убедиться, что вы хотите установить сертификат. Прокси-сервер разработки использует этот сертификат для расшифровки трафика HTTPS, отправленного с компьютера.
  3. Разрешить доступ к брандмауэру. Брандмауэр Windows блокирует прокси-сервер. Отображается предупреждение. Нажмите кнопку Allow access, чтобы разрешить трафик через брандмауэр.
  1. запуск прокси-сервера разработки. Откройте сеанс командной строки. Введите devproxy и нажмите , затем введите.
  2. сертификат доверия. Dev Proxy устанавливает сертификат с именем Dev Proxy CA, который используется для расшифровки HTTPS-трафика, отправленного с вашего компьютера. Показано предупреждение. Нажмите y, чтобы убедиться, что вы хотите доверять сертификату.
  3. Принять входящие подключения. Отображается предупреждение. Выберите Allow для подтверждения.
  1. запуск прокси-сервера разработки. Откройте сеанс командной строки. Введите devproxy и нажмите , затем.

  2. сертификат доверия. Dev Proxy использует пользовательский SSL-сертификат для расшифровки HTTPS-трафика, отправленного с вашего компьютера.

    Важный

    Ниже приведены инструкции для Ubuntu. Для других дистрибутивов Linux шаги могут отличаться.

    Чтобы установить и доверять сертификату, в новой командной строке выполните следующие команды:

    # 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-certificates
    

В командной строке отображаются следующие выходные данные:

 info    8 error responses loaded from devproxy-errors.json
 info    Dev Proxy API listening on http://localhost:8897...
 info    Dev Proxy Listening on 127.0.0.1:8000...

Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy

По умолчанию для прокси-сервера разработки настроено:

  • Перехват запросов к любой конечной точке API заполнителя JSON
  • Имитация ответов об ошибках API и регулирование API с частотой сбоев в 50%

Убедитесь, что прокси-сервер разработки работает правильно

Прокси-сервер разработки перехватывает запросы, которые приложения на вашем устройстве делают к URL-адресам, зарегистрированным в Dev Proxy. Когда прокси-сервер разработки обнаруживает запрос, он либо передает его в API (не выполняет никаких действий), либо возвращает ответ. Давайте убедимся, что прокси-сервер разработки работает должным образом.

В PowerShell используйте командлет Invoke-WebRequest для отправки GET-запроса в API JSON Placeholder.

Invoke-WebRequest -Uri https://jsonplaceholder.typicode.com/posts

Если вы используете curl, отправьте запрос GET в API заполнителя JSON с помощью следующей команды.

curl -ikx http://localhost:8000 https://jsonplaceholder.typicode.com/posts

Вы также можете использовать клиент API, например Postman, для отправки запроса GET в https://jsonplaceholder.typicode.com/posts.

В командной строке, в которой выполняется прокси-сервер разработки, отображаются сведения о запросе и действии, выполняемом прокси-сервером разработки. По умолчанию Dev-прокси имитирует ответ на ошибку с вероятностью 50%. Если запрос не возвращает ошибку, прокси-сервер разработки пропускает его дальше.

 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 time  │ 1/31/2025 12:12:14 PM +00:00
 skip  │ RetryAfterPlugin: Request not throttled
 skip  │ GenericRandomErrorPlugin: Pass through
 api   ╰ Passed through

Если прокси-сервер разработки возвращает ответ на ошибку, в выходных данных отображается сообщение об ошибке.

 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 time  │ 1/31/2025 12:12:37 PM +00:00
 skip  │ RetryAfterPlugin: Request not throttled
 oops  ╰ 403 Forbidden

Важный

Если в окне командной строки нет выходных данных, скорее всего, прокси-сервер разработки не перехватывает запросы. Ознакомьтесь с разделом о распространённых проблемах для получения помощи.

Безопасно остановить прокси разработки

Если вам больше не требуется запускать прокси-сервер разработки, всегда следует остановить его безопасно.

  • Нажмите клавиши CTRL + C, чтобы безопасно остановить прокси-сервер разработки.

Если завершить сеанс командной строки, Dev Proxy не отменяет свою регистрацию в качестве системного прокси-сервера, и у вас могут возникнуть некоторые распространенные проблемы.

Следующий шаг

Узнайте, как настроить прокси-сервер разработки в соответствии с вашими потребностями. Прокси-сервер разработки является очень гибким и поддерживает множество различных сценариев. Узнайте больше о том, как настроить его для конкретного сценария.