Подключение Azure Sphere через прокси-сервер
Внимание
Это документация по Azure Sphere (устаревшая версия). Служба Azure Sphere (устаревшая версия) выходит на пенсию 27 сентября 2027 г., и к этому времени пользователи должны перейти в Azure Sphere (интегрированная). Используйте селектор версий, расположенный над toC, чтобы просмотреть документацию по Azure Sphere (интегрированная).
Устройство Azure Sphere можно настроить для подключения к Интернету через прокси-сервер с помощью библиотек приложений пакета SDK Azure Sphere (Applibs) или CLI. Если эта функция включена, весь трафик устройства передается через прокси-сервер. Устройство можно настроить для идентификации прокси-сервера, типа сервера и метода проверки подлинности.
В настоящее время поддерживаются только прокси-серверы HTTP.
методы проверки подлинности;
Поддерживаются следующие методы проверки подлинности:
- Базовый: запрашивает у пользователя имя пользователя и пароль для проверки подлинности подключения.
- Анонимный: позволяет пользователям подключаться анонимно, чтобы имя пользователя и пароль не требовались при использовании подключения прокси-сервера.
Конфигурация прокси-сервера с помощью интерфейса командной строки
Следующие команды управляют адресом прокси-сервера, используемым для сетевого подключения. Дополнительные сведения см. в статье azsphere device network proxy.
Операция | Description |
---|---|
Применение прокси-сервера | Настраивает сетевой прокси-сервер на подключенном устройстве. |
удаление прокси-сервера | Удаляет прокси-подключение на подключенном устройстве. |
прокси-шоу | Отображает прокси-подключение на подключенном устройстве. |
Настройка прокси-сервера с помощью applibs
Чтобы настроить конфигурацию прокси-сервера, приложение должно использовать сетевой API Applibs, который включает поддержку получения и настройки свойств конфигурации прокси-сервера.
Включите этот файл заголовка в приложение:
#include <applibs/networking.h>
Если вы используете cURL в приложении и подключаетесь к Интернету через прокси-сервер, необходимо также включить этот файл заголовка:
#include <applibs/networking_curl.h>
Дополнительные сведения об использовании cURL см. в разделе "Подключение к веб-службам".
Поддерживаемые приложения для конфигурации прокси-сервера
Поддерживаются следующие приложения:
- Networking_Curl_SetDefaultProxy
- Networking_Proxy_Create
- Networking_Proxy_Destroy
- Networking_Proxy_Apply
- Networking_Proxy_Get
- Networking_Proxy_SetProxyOptions
- Networking_Proxy_SetProxyAddress
- Networking_Proxy_SetAnonymousAuthentication
- Networking_Proxy_SetBasicAuthentication
- Networking_Proxy_SetProxyNoProxyAddresses
- Networking_Proxy_GetProxyOptions
- Networking_Proxy_GetProxyAddress
- Networking_Proxy_GetProxyPort
- Networking_Proxy_GetProxyType
- Networking_Proxy_GetProxyUsername
- Networking_Proxy_GetProxyPassword
- Networking_Proxy_GetAuthType
- Networking_Proxy_GetNoProxyAddresses
- Networking_Proxy_GetProxyStatus
- Networking_ProxyConfig
- Networking_ProxyOptions
- Networking_ProxyType
- Networking_ProxyAuthType
- Networking_ProxyStatus
Требования к манифесту приложения
Манифест приложения должен включать функцию NetworkConfig или ReadNetworkProxyConfig. Эта возможность определяет степень доступа приложения к параметрам прокси-сервера.
Функция NetworkConfig предоставляет полный доступ ко всем параметрам конфигурации сети. Это позволяет приложению настраивать, извлекать и включать или отключать параметры прокси-сервера.
"Capabilities": {
"NetworkConfig": true
}
Возможность ReadNetworkProxyConfig позволяет приложению получать параметры прокси-сервера. Эта возможность используется для приложений, которым запрещен общий доступ к параметрам сети, но требуются сведения о конфигурации прокси-сервера.
"Capabilities": {
"ReadNetworkProxyConfig": true
}
Подключение к Центр Интернета вещей Azure с помощью MQTT
Приложения Интернета вещей Azure используют MQTT на основе TCP/IP для подключения к Центру Интернета вещей Azure. Необходимо настроить приложение для использования MQTT через WebSockets, чтобы трафик правильно перенаправлялся через прокси-сервер.
Вы можете настроить приложение для взаимодействия с Центр Интернета вещей напрямую или использовать службы подготовки устройств Azure (DPS):
Чтобы настроить приложение для взаимодействия с Центром Интернета вещей напрямую, используйте пример прокси-сервера в примере READMEStartWithIoTHub.md и измените его, как описано в разделе "Подключение к центру AzureIoT".
Чтобы настроить приложение для использования Azure DPS, используйте пример прокси-кода в примере READMEAddDPS или READMEStartWithIoTCentral и измените его, как описано в разделе Connect через службу подготовки устройств Центр Интернета вещей Azure.
Дополнительные сведения о добавлении поддержки прокси-сервера см. в READMEAddWebProxy.md.
Примеры
Фрагменты кода прокси-сервера демонстрируют следующее:
- В фрагменте кода "Настройка параметров прокси- сервера" показано, как настроить параметры прокси-сервера на устройстве Azure Sphere.
- В фрагменте кода "Получить параметры прокси-сервера" показано, как получить параметры прокси-сервера на устройстве Azure Sphere.
- В фрагменте кода "Включить или отключить настроенный прокси-сервер " показано, как включить или отключить уже настроенный прокси-сервер на устройстве Azure Sphere.
Примеры HTTPS демонстрируют использование HTTPS_Curl_Easy и HTTPS_Curl_Multi API для получения содержимого по протоколу HTTPS. По умолчанию они настраивают дескриптор cURL для использования прокси-сервера.
Пример AzureIoT содержит инструкции и код для добавления поддержки веб-прокси в пример.