Conectar o Azure Sphere por meio de um servidor proxy

Você pode configurar um dispositivo do Azure Sphere para se conectar à Internet por meio de um servidor proxy usando as Bibliotecas de Aplicativos do SDK do Azure Sphere (Applibs) ou a CLI. Quando esse recurso é habilitado, todo o tráfego do dispositivo flui pelo proxy. O dispositivo pode ser configurado para identificar o servidor proxy a ser usado, o tipo de servidor e o método de autenticação.

Atualmente, há suporte apenas para proxies HTTP.

Métodos de autenticação

Há suporte para os seguintes métodos de autenticação:

  • Básico: solicita ao usuário um nome de usuário e senha para autenticar a conexão.
  • Anônimo: permite que os usuários se conectem anonimamente para que o nome de usuário e a senha não sejam necessários ao usar a conexão do servidor proxy.

Configuração de proxy usando a CLI

Os comandos a seguir gerenciam o uso de endereço proxy para conexão de rede. Para obter mais informações, consulte proxy de rede de dispositivo do azsphere.

Operação Descrição
proxy aplicar Configura o proxy de rede no dispositivo anexado.
exclusão de proxy Exclui a conexão proxy no dispositivo anexado.
proxy show Mostra a conexão de proxy no dispositivo anexado.

Configuração de proxy usando Applibs

Para configurar a configuração de proxy, seu aplicativo deve usar a API de rede applibs, que inclui suporte para obter e definir propriedades de configuração de proxy.

Inclua este arquivo de cabeçalho em seu aplicativo:

#include <applibs/networking.h>

Se você estiver usando cURL em seu aplicativo e se conectando à Internet por meio de um servidor proxy, também deverá incluir este arquivo de cabeçalho:

#include <applibs/networking_curl.h>

Para obter mais informações sobre como usar cURL, consulte Conectar-se aos serviços Web.

Applibs com suporte para configuração de proxy

Há suporte para os seguintes AppLibs:

Requisitos de manifesto do aplicativo

O manifesto do aplicativo deve incluir o recurso NetworkConfig ou ReadNetworkProxyConfig . A funcionalidade determina o grau de acesso que seu aplicativo tem às configurações de proxy.

A funcionalidade NetworkConfig concede acesso total a todas as configurações de rede. Ele permite que seu aplicativo configure, recupere e habilite ou desabilite as configurações de proxy.

"Capabilities": {
  "NetworkConfig": true
}

A funcionalidade ReadNetworkProxyConfig só permite que seu aplicativo recupere as configurações de proxy. Essa funcionalidade é usada para aplicativos que têm acesso geral negado às configurações de rede, mas exigem informações de configuração de proxy.

"Capabilities": {
  "ReadNetworkProxyConfig": true
}

Usar o MQTT para se conectar ao Hub IoT do Azure

Os aplicativos IoT do Azure usam o MQTT baseado em TCP/IP para se conectar a um hub IoT do Azure. Você deve configurar seu aplicativo para usar o MQTT em WebSockets para que o tráfego seja redirecionado corretamente por meio do proxy.

Você pode configurar seu aplicativo para se comunicar diretamente com um Hub IoT ou usar o DPS (Serviços de Provisionamento de Dispositivos do Azure):

Para obter mais informações sobre como adicionar suporte a proxy, consulte READMEAddWebProxy.md.

Amostras

Os snippets de código proxy demonstram o seguinte:

Os exemplos HTTPS demonstram o uso das APIs HTTPS_Curl_Easy e HTTPS_Curl_Multi para buscar conteúdo por HTTPS. Por padrão, eles configuram o identificador cURL para usar um proxy.

O exemplo do AzureIoT contém instruções e código para adicionar suporte a proxy Web ao exemplo.