Подключение Azure Sphere через прокси-сервер
Вы можете настроить устройство Azure Sphere для подключения к Интернету через прокси-сервер с помощью библиотек приложений пакета SDK Azure Sphere (Applibs) или CLI. Если эта функция включена, весь трафик устройства проходит через прокси-сервер. Устройство можно настроить для идентификации используемого прокси-сервера, типа сервера и метода проверки подлинности.
В настоящее время поддерживаются только прокси-серверы HTTP.
Методы проверки подлинности
Поддерживаются следующие методы проверки подлинности:
- Базовый. Запрашивает у пользователя имя пользователя и пароль для проверки подлинности подключения.
- Анонимный. Позволяет пользователям подключаться анонимно, чтобы имя пользователя и пароль не требовались при использовании подключения к прокси-серверу.
Конфигурация прокси-сервера с помощью ИНТЕРФЕЙСА командной строки
Следующие команды управляют использованием прокси-адреса для сетевого подключения. Дополнительные сведения см. в статье az sphere device network proxy.
Операции | Описание |
---|---|
применение прокси-сервера | Настраивает сетевой прокси-сервер на подключенном устройстве. |
удаление прокси-сервера | Удаляет прокси-подключение на подключенном устройстве. |
прокси-шоу | Отображает прокси-подключение на подключенном устройстве. |
Настройка прокси-сервера с помощью Applibs
Чтобы настроить конфигурацию прокси-сервера, приложение должно использовать СЕТЕВОЙ API Applibs, который включает поддержку получения и настройки свойств конфигурации прокси-сервера.
Включите этот файл заголовка в приложение:
#include <applibs/networking.h>
Если вы используете cURL в приложении и подключаетесь к Интернету через прокси-сервер, необходимо также включить следующий файл заголовка:
#include <applibs/networking_curl.h>
Дополнительные сведения об использовании cURL см. в разделе Подключение к веб-службам.
Поддерживаемые applibs для конфигурации прокси-сервера
Поддерживаются следующие AppLibs:
- 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 через WebSocket, чтобы трафик правильно перенаправлялся через прокси-сервер.
Вы можете настроить приложение для взаимодействия с Центр Интернета вещей напрямую или использовать службы подготовки устройств Azure (DPS):
Чтобы настроить приложение для прямого взаимодействия с Центром Интернета вещей, используйте пример кода прокси-сервера в примере READMEStartWithIoTHub.md и измените его, как описано в разделе Прямое подключение к центру Интернета вещей Azure.
Чтобы настроить приложение для использования Azure DPS, используйте пример кода прокси-сервера в примере READMEAddDPS или READMEStartWithIoTCentral и измените его, как описано в разделе Подключение через Центр Интернета вещей Azure службу подготовки устройств.
Дополнительные сведения о добавлении поддержки прокси-сервера см. в разделе READMEAddWebProxy.md.
Образцы
Фрагменты кода прокси-сервера демонстрируют следующее:
- В фрагменте кода Настройка параметров прокси-сервера показано, как настроить параметры прокси-сервера на устройстве Azure Sphere.
- В фрагменте кода Get Proxy Settings показано, как получить параметры прокси-сервера на устройстве Azure Sphere.
- В фрагменте кода включения и отключения настроенного прокси-сервера показано, как включить или отключить уже настроенный прокси-сервер на устройстве Azure Sphere.
Примеры HTTPS демонстрируют использование API HTTPS_Curl_Easy и HTTPS_Curl_Multi для получения содержимого по протоколу HTTPS. По умолчанию они настраивают дескриптор cURL для использования прокси-сервера.
Пример AzureIoT содержит инструкции и код для добавления поддержки веб-прокси в пример.