Conexión de Azure Sphere a través de un servidor proxy
Importante
Esta es la documentación de Azure Sphere (heredado). Azure Sphere (heredado) se retira el 27 de septiembre de 2027 y los usuarios deben migrar a Azure Sphere (integrado) en este momento. Use el selector de versiones situado encima de la TOC para ver la documentación de Azure Sphere (integrado).
Puede configurar un dispositivo de 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 va a 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: solicita 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 mediante la CLI
Los comandos siguientes administran el uso de la dirección de proxy para la conexión de red. Para más información, consulte azsphere device network proxy.
Operación | Descripción |
---|---|
aplicación de proxy | Configura el proxy de red en el dispositivo conectado. |
eliminación de proxy | Elimina la conexión de proxy en el dispositivo conectado. |
proxy show | Muestra la conexión de proxy en el dispositivo conectado. |
Configuración de proxy mediante bibliotecas de aplicaciones
Para configurar la configuración de 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, consulte Conexión a servicios web.
Bibliotecas de aplicaciones admitidas para la configuración de proxy
Se admiten las siguientes bibliotecas de aplicaciones:
- 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 aplicación
El manifiesto de aplicación debe incluir la funcionalidad NetworkConfig o ReadNetworkProxyConfig . La funcionalidad determina el grado de acceso que tiene la aplicación 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 del proxy.
"Capabilities": {
"NetworkConfig": true
}
La funcionalidad ReadNetworkProxyConfig solo permite a la aplicación recuperar la configuración del proxy. Esta funcionalidad se usa para las aplicaciones a las que se deniega el acceso general a la configuración de red, pero requieren información de configuración de proxy.
"Capabilities": {
"ReadNetworkProxyConfig": true
}
Uso de MQTT para conectarse a Azure IoT Hub
Las aplicaciones de Azure IoT usan MQTT basado en TCP/IP para conectarse a una instancia de Azure IoT Hub. Debe configurar la aplicación para que use MQTT a través de WebSockets para que el tráfico se redirija correctamente a través del proxy.
Puede configurar la aplicación para comunicarse directamente con una instancia de IoT Hub o usar Azure Device Provisioning Services (DPS):
Para configurar la aplicación para que se comunique directamente con un centro de IoT, use el código de ejemplo de proxy en el ejemplo de READMEStartWithIoTHub.md y modifíquelo como se describe en Conexión 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 Conexión a través del servicio de aprovisionamiento de dispositivos de Azure IoT Hub.
Para obtener más información sobre cómo agregar compatibilidad con proxy, consulte READMEAddWebProxy.md.
Ejemplos
Los fragmentos de código proxy muestran lo siguiente:
- El fragmento de código Configurar configuración de proxy muestra cómo configurar las opciones de proxy en un dispositivo de Azure Sphere.
- El fragmento de código Obtener configuración de proxy muestra cómo recuperar la configuración del proxy en un dispositivo de Azure Sphere.
- El fragmento de código Enable/Disable Configured Proxy muestra cómo habilitar o deshabilitar un proxy ya configurado en un dispositivo de Azure Sphere.
Los ejemplos https muestran 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 identificador cURL para usar un proxy.
El ejemplo de AzureIoT contiene instrucciones y código para agregar compatibilidad con proxy web al ejemplo.