Conectar Azure Sphere a través de un servidor proxy
Puede configurar un dispositivo Azure Sphere para conectarse a Internet a través de un servidor proxy mediante las bibliotecas de aplicaciones del SDK de Azure Sphere (Applibs) o la CLI. Cuando esta característica está habilitada, todo el tráfico del dispositivo fluye a través del proxy. El dispositivo se puede configurar para identificar el servidor proxy que se usará, el tipo de servidor y el método de autenticación.
Actualmente solo se admiten servidores proxy HTTP.
Métodos de autenticación
Se admiten los siguientes métodos de autenticación:
- Básico: Pide al usuario un nombre de usuario y una contraseña para autenticar la conexión.
- Anónimo: permite a los usuarios conectarse de forma anónima para que el nombre de usuario y la contraseña no sean necesarios al usar la conexión del servidor proxy.
Configuración de proxy con la CLI
Los siguientes comandos administran el uso de la dirección del proxy para la conexión de red. Para obtener más información, consulte az sphere device network proxy.
Operación | Descripción |
---|---|
aplicación proxy | Configura el proxy de red en el dispositivo adjunto. |
eliminación de proxy | Elimina la conexión de proxy en el dispositivo adjunto. |
presentación de proxy | Muestra la conexión de proxy en el dispositivo conectado. |
Configuración de proxy con Applibs
Para configurar el proxy, la aplicación debe usar la API de red applibs, que incluye compatibilidad para obtener y establecer propiedades de configuración de proxy.
Incluya este archivo de encabezado en la aplicación:
#include <applibs/networking.h>
Si usa cURL en la aplicación y se conecta a Internet a través de un servidor proxy, también debe incluir este archivo de encabezado:
#include <applibs/networking_curl.h>
Para obtener más información sobre el uso de cURL, vea Conectarse a servicios web.
Applibs compatibles con la configuración de proxy
Se admiten las siguientes 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
Requisitos del manifiesto de la aplicación
El manifiesto de la aplicación debe incluir la funcionalidad NetworkConfig o ReadNetworkProxyConfig . La funcionalidad determina el grado de acceso que la aplicación tiene a la configuración del proxy.
La funcionalidad NetworkConfig concede acceso total a todas las opciones de configuración de red. Permite que la aplicación configure, recupere y habilite o deshabilite la configuración de proxy.
"Capabilities": {
"NetworkConfig": true
}
La funcionalidad ReadNetworkProxyConfig solo permite que la aplicación recupere la configuración de proxy. Esta funcionalidad se usa para aplicaciones a las que se les deniega el acceso general a la configuración de red, pero que requieren información de configuración de proxy.
"Capabilities": {
"ReadNetworkProxyConfig": true
}
Usar MQTT para conectarse a Azure IoT Hub
Las aplicaciones de Azure IoT usan MQTT basado en TCP/IP para conectarse a un Azure IoT Hub. Debe configurar la aplicación para utilizar MQTT sobre WebWebs para que el tráfico se redirija correctamente a través del proxy.
Puede configurar la aplicación para que se comunique directamente con un IoT Hub, o usar los Servicios de aprovisionamiento de dispositivos de Azure (DPS):
Para configurar la aplicación para que se comunique directamente con Un IoT Hub, use el código de muestra de proxy de la READMEStartWithIoTHub.md muestra y modifíquelo como se describe en Conectarse directamente a AzureIoT Hub.
Para configurar la aplicación para que use Azure DPS, use el código de ejemplo de proxy en el ejemplo READMEAddDPS o READMEStartWithIoTCentral y modifíquelo como se describe en Conectar a través de Azure IoT Hub servicio de aprovisionamiento de dispositivos.
Para obtener más información sobre cómo agregar compatibilidad con proxys, consulta READMEAddWebProxy.md.
Muestras
Los fragmentos de código proxy demuestran lo siguiente:
- En el fragmento de código Configurar configuración de proxy se muestra cómo configurar las opciones de proxy en un dispositivo Azure Sphere.
- El fragmento de código Obtener configuración de proxy muestra cómo recuperar la configuración de proxy en un dispositivo Azure Sphere.
- El fragmento de código de proxy configurado Habilitar/deshabilitar muestra cómo habilitar o deshabilitar un proxy ya configurado en un dispositivo Azure Sphere.
Los ejemplos de HTTPS demuestran el uso de las API de HTTPS_Curl_Easy y HTTPS_Curl_Multi para capturar contenido a través de HTTPS. De forma predeterminada, configuran el controlador cURL para usar un proxy.
El ejemplo de AzureIoT contiene instrucciones y código para agregar compatibilidad con proxy web al ejemplo.