Compartir vía


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:

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 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:

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.