Conectar o Azure Sphere por meio de um servidor proxy
Importante
Esta é a documentação do Azure Sphere (Legado). O Azure Sphere (Legado) 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 Bibliotecas de Aplicativos do SDK do Azure Sphere (Applibs) ou a CLI. Quando esse recurso é habilitado, todo o tráfego do dispositivo flui através do 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 do endereço proxy para conexão de rede. Para obter mais informações, consulte azsphere device network proxy.
Operation | Description |
---|---|
Proxy aplicar | Configura o proxy de rede no dispositivo conectado. |
Exclusão de proxy | Exclui a conexão proxy no dispositivo conectado. |
show de proxy | Mostra a conexão proxy no dispositivo conectado. |
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 através de um servidor proxy, você também deve 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
Os seguintes AppLibs são suportados:
- 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 de aplicação
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 aos quais é negado acesso geral às configurações de rede, mas exigem informações de configuração de proxy.
"Capabilities": {
"ReadNetworkProxyConfig": true
}
Usar 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 através do proxy.
Você pode configurar seu aplicativo para se comunicar diretamente com um Hub IoT ou usar os DPS (Serviços de Provisionamento de Dispositivo) do Azure:
Para configurar seu aplicativo para se comunicar diretamente com um hub IoT, use o código de exemplo de proxy no exemplo de READMEStartWithIoTHub.md e modifique-o conforme descrito em Conectar-se diretamente ao hub AzureIoT.
Para configurar seu aplicativo para usar o DPS do Azure, use o código de exemplo de proxy no exemplo READMEAddDPS ou READMEStartWithIoTCentral e modifique-o conforme descrito em Connect via serviço de provisionamento de dispositivo do Hub IoT do Azure.
Para obter mais informações sobre como adicionar suporte a proxy, consulte READMEAddWebProxy.md.
Exemplos
Os trechos de código de proxy demonstram o seguinte:
- O trecho de código Configurar Configurações de Proxy demonstra como definir as configurações de proxy em um dispositivo Azure Sphere.
- O trecho de código Obter Configurações de Proxy demonstra como recuperar as configurações de proxy em um dispositivo Azure Sphere.
- O trecho de código Enable/Disable Configured Proxy demonstra como habilitar/desabilitar um proxy já configurado em um dispositivo Azure Sphere.
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 AzureIoT contém instruções e código para adicionar suporte a proxy da Web ao exemplo.