Conectar o Azure Sphere por meio de um servidor proxy
Importante
Esta é a documentação do Azure Sphere (herdado). O Azure Sphere (herdado) será desativado em 27 de setembro de 2027 e os usuários devem migrar para o Azure Sphere (integrado) até esse momento. Use o seletor de versão localizado acima do sumário para exibir a documentação do Azure Sphere (Integrado).
Você pode configurar um dispositivo do Azure Sphere para se conectar à Internet por meio de um servidor proxy usando as Applibs (Bibliotecas de Aplicativos do SDK do Azure Sphere) ou a CLI. Quando esse recurso está 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, apenas proxies HTTP são suportados.
Métodos de autenticação
Os seguintes métodos de autenticação são suportados:
- 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 azsphere.
Operação | Descrição |
---|---|
Aplicação de proxy | Configura o proxy de rede no dispositivo conectado. |
exclusão de proxy | Exclui a conexão proxy no dispositivo conectado. |
Proxy Show | Mostra a conexão proxy no dispositivo conectado. |
Configuração de proxy usando Applibs
Para definir 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 a serviços Web.
Applibs suportados para configuração de proxy
Há suporte para as seguintes 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 do manifesto do aplicativo
O manifesto do aplicativo deve incluir o recurso NetworkConfig ou ReadNetworkProxyConfig. O recurso determina o grau de acesso que seu aplicativo tem às configurações de proxy.
O recurso NetworkConfig concede acesso total a todas as definições de configuração de rede. Ele permite que seu aplicativo configure, recupere e habilite ou desabilite as configurações de proxy.
"Capabilities": {
"NetworkConfig": true
}
O recurso ReadNetworkProxyConfig só permite que seu aplicativo recupere configurações de proxy. Esse recurso é usado 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 MQTT baseado em TCP/IP para se conectar a um hub IoT do Azure. Você deve configurar seu aplicativo para usar MQTT sobre 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 configurar seu aplicativo para se comunicar diretamente com um hub IoT, use o código de exemplo de proxy no exemplo READMEStartWithIoTHub.md e modifique-o conforme descrito em Conectar-se diretamente ao hub IoT do Azure.
Para configurar seu aplicativo para usar o Azure DPS, use o código de exemplo de proxy no exemplo READMEAddDPS ou READMEStartWithIoTCentral e modifique-o conforme descrito em Conectar-se por meio do serviço de provisionamento de dispositivos do Hub IoT do Azure.
Para obter mais informações sobre como adicionar suporte a proxy, consulte READMEAddWebProxy.md.
Exemplos
Os snippets de código proxy demonstram o seguinte:
- O snippet de código Definir Configurações de Proxy demonstra como definir as configurações de proxy em um dispositivo do Azure Sphere.
- O snippet de código Obter Configurações de Proxy demonstra como recuperar as configurações de proxy em um dispositivo do Azure Sphere.
- O snippet de código Habilitar/Desabilitar Proxy Configurado demonstra como habilitar/desabilitar um proxy já configurado em um dispositivo do Azure Sphere.
Os exemplos de 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.