Connecter Azure Sphere via un serveur proxy
Vous pouvez configurer un appareil Azure Sphere pour qu’il se connecte à Internet via un serveur proxy à l’aide des bibliothèques d’applications du KIT de développement logiciel (SDK) Azure Sphere ou de l’interface CLI. Lorsque cette fonctionnalité est activée, tout le trafic de l’appareil transite par le proxy. L’appareil peut être configuré pour identifier le serveur proxy à utiliser, le type de serveur et la méthode d’authentification.
Seuls les proxys HTTP sont actuellement pris en charge.
Méthodes d’authentification
Les méthodes d’authentification suivantes sont prises en charge :
- De base : invite l’utilisateur à entrer un nom d’utilisateur et un mot de passe pour authentifier la connexion.
- Anonyme : permet aux utilisateurs de se connecter de manière anonyme afin que le nom d’utilisateur et le mot de passe ne soient pas requis lors de l’utilisation de la connexion au serveur proxy.
Configuration du proxy à l’aide de l’interface CLI
Les commandes suivantes gèrent l’utilisation de l’adresse proxy pour la connexion réseau. Pour plus d’informations, consultez az sphere device network proxy.
Opération | Description |
---|---|
proxy apply | Configure le proxy réseau sur l’appareil attaché. |
suppression du proxy | Supprime la connexion proxy sur l’appareil attaché. |
proxy show | Affiche la connexion proxy sur l’appareil attaché. |
Configuration du proxy à l’aide de bibliothèques d’applications
Pour configurer la configuration du proxy, votre application doit utiliser l’API réseau des bibliothèques d’applications, qui inclut la prise en charge de l’obtention et de la définition des propriétés de configuration du proxy.
Incluez ce fichier d’en-tête dans votre application :
#include <applibs/networking.h>
Si vous utilisez cURL dans votre application et que vous vous connectez à Internet via un serveur proxy, vous devez également inclure ce fichier d’en-tête :
#include <applibs/networking_curl.h>
Pour plus d’informations sur l’utilisation de cURL, consultez Se connecter à des services web.
Bibliothèques d’applications prises en charge pour la configuration du proxy
Les AppLibs suivants sont pris en charge :
- 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
Exigences du manifeste d’application
Le manifeste de l’application doit inclure la fonctionnalité NetworkConfig ou ReadNetworkProxyConfig . La fonctionnalité détermine le degré d’accès de votre application aux paramètres du proxy.
La fonctionnalité NetworkConfig accorde un accès complet à tous les paramètres de configuration réseau. Il permet à votre application de configurer, de récupérer et d’activer ou de désactiver les paramètres de proxy.
"Capabilities": {
"NetworkConfig": true
}
La fonctionnalité ReadNetworkProxyConfig permet uniquement à votre application de récupérer les paramètres de proxy. Cette fonctionnalité est utilisée pour les applications qui se voient refuser l’accès général aux paramètres réseau, mais qui nécessitent des informations de configuration de proxy.
"Capabilities": {
"ReadNetworkProxyConfig": true
}
Utiliser MQTT pour se connecter à Azure IoT Hub
Les applications Azure IoT utilisent MQTT basé sur TCP/IP pour se connecter à un hub Azure IoT. Vous devez configurer votre application pour utiliser MQTT sur WebSockets afin que le trafic soit correctement redirigé via le proxy.
Vous pouvez configurer votre application pour communiquer directement avec un IoT Hub ou utiliser azure Device Provisioning Services (DPS) :
Pour configurer votre application pour qu’elle communique directement avec un hub IoT, utilisez l’exemple de code proxy dans l’exemple READMEStartWithIoTHub.md et modifiez-le comme décrit dans Se connecter directement au hub AzureIoT.
Pour configurer votre application pour utiliser Azure DPS, utilisez l’exemple de code proxy dans l’exemple READMEAddDPS ou READMEStartWithIoTCentral et modifiez-le comme décrit dans Se connecter via Azure IoT Hub service d’approvisionnement d’appareils.
Pour plus d’informations sur l’ajout de la prise en charge du proxy, consultez READMEAddWebProxy.md.
Échantillons
Les extraits de code proxy illustrent les éléments suivants :
- L’extrait de code Configurer les paramètres de proxy montre comment configurer les paramètres de proxy sur un appareil Azure Sphere.
- L’extrait de code Obtenir les paramètres du proxy montre comment récupérer les paramètres de proxy sur un appareil Azure Sphere.
- L’extrait de code Activer/Désactiver le proxy configuré montre comment activer/désactiver un proxy déjà configuré sur un appareil Azure Sphere.
Les exemples HTTPS illustrent l’utilisation des API HTTPS_Curl_Easy et HTTPS_Curl_Multi pour extraire du contenu via HTTPS. Par défaut, ils configurent le handle cURL pour utiliser un proxy.
L’exemple AzureIoT contient des instructions et du code pour ajouter la prise en charge du proxy web à l’exemple.