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 az sphere.
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:
- 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 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 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 no hub Connect to AzureIoT diretamente.
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 Conectar por meio Hub IoT do Azure serviço de provisionamento de dispositivos.
Para obter mais informações sobre como adicionar suporte a proxy, consulte READMEAddWebProxy.md.
Amostras
Os snippets de código proxy demonstram o seguinte:
- O snippet de código Configurar Configurações de Proxy demonstra como configurar 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 Enable/Disable Configured Proxy demonstra como habilitar/desabilitar um proxy já configurado em um dispositivo do 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 do AzureIoT contém instruções e código para adicionar suporte a proxy Web ao exemplo.