Ligar o Azure Sphere através de um servidor proxy
Pode configurar um dispositivo do Azure Sphere para ligar à Internet através de um servidor proxy com as Bibliotecas de Aplicações do SDK do Azure Sphere (Applibs) ou a CLI. Quando esta funcionalidade está ativada, todo o tráfego do dispositivo flui através do proxy. O dispositivo pode ser configurado para identificar o servidor proxy a ser utilizado, o tipo de servidor e o método de autenticação.
Atualmente, apenas são suportados proxies HTTP.
Métodos de autenticação
São suportados os seguintes métodos de autenticação:
- Básico: pede ao utilizador um nome de utilizador e palavra-passe para autenticar a ligação.
- Anónimo: permite que os utilizadores se liguem anonimamente para que o nome de utilizador e a palavra-passe não sejam necessários ao utilizar a ligação do servidor proxy.
Configuração do proxy com a CLI
Os comandos seguintes gerem a utilização de endereços proxy para ligação de rede. Para obter mais informações, veja az sphere device network proxy (proxy de rede de dispositivos az sphere).
Operação | Descrição |
---|---|
proxy apply | Configura o proxy de rede no dispositivo anexado. |
eliminação de proxy | Elimina a ligação proxy no dispositivo anexado. |
proxy show | Mostra a ligação proxy no dispositivo anexado. |
Configuração de proxy com o Applibs
Para configurar a configuração de proxy, a sua aplicação tem de utilizar a API de rede applibs, que inclui suporte para obter e definir propriedades de configuração de proxy.
Inclua este ficheiro de cabeçalho na sua aplicação:
#include <applibs/networking.h>
Se estiver a utilizar o cURL na sua aplicação e a ligar à Internet através de um servidor proxy, também tem de incluir este ficheiro de cabeçalho:
#include <applibs/networking_curl.h>
Para obter mais informações sobre como utilizar o cURL, consulte Ligar a serviços Web.
Applibs suportados para configuração de proxy
São suportadas 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 de aplicação
O manifesto da aplicação tem de incluir a capacidade NetworkConfig ou ReadNetworkProxyConfig . A capacidade determina o grau de acesso que a sua aplicação tem às definições de proxy.
A capacidade NetworkConfig concede acesso total a todas as definições de configuração de rede. Permite que a aplicação configure, obtenha e ative ou desative as definições de proxy.
"Capabilities": {
"NetworkConfig": true
}
A capacidade ReadNetworkProxyConfig só permite que a sua aplicação obtenha as definições de proxy. Esta capacidade é utilizada para aplicações que não têm acesso geral às definições de rede, mas que necessitam de informações de configuração de proxy.
"Capabilities": {
"ReadNetworkProxyConfig": true
}
Utilizar o MQTT para ligar ao Hub IoT do Azure
As aplicações IoT do Azure utilizam o MQTT baseado em TCP/IP para ligar a um hub IoT do Azure. Tem de configurar a aplicação para utilizar o MQTT através de WebSockets para que o tráfego seja redirecionado corretamente através do proxy.
Pode configurar a sua aplicação para comunicar diretamente com um Hub IoT ou utilizar os Serviços de Aprovisionamento de Dispositivos (DPS) do Azure:
Para configurar a sua aplicação para comunicar diretamente com um hub IoT, utilize o código de exemplo de proxy no exemplo READMEStartWithIoTHub.md e modifique-o conforme descrito em Ligar diretamente ao hub do AzureIoT.
Para configurar a aplicação para utilizar o DPS do Azure, utilize o código de exemplo de proxy no exemplo READMEAddDPS ou READMEStartWithIoTCentral e modifique-o conforme descrito em Ligar através do serviço de aprovisionamento de dispositivos Hub IoT do Azure.
Para obter mais informações sobre como adicionar suporte de proxy, veja READMEAddWebProxy.md.
Exemplos
Os fragmentos de código de proxy demonstram o seguinte:
- O fragmento de código Configurar Definições de Proxy demonstra como configurar as definições de proxy num dispositivo do Azure Sphere.
- O fragmento de código Obter Definições de Proxy demonstra como obter as definições de proxy num dispositivo do Azure Sphere.
- O fragmento de código Ativar/Desativar Proxy Configurado demonstra como ativar/desativar um proxy já configurado num dispositivo do Azure Sphere.
Os exemplos de HTTPS demonstram a utilização das APIs HTTPS_Curl_Easy e HTTPS_Curl_Multi para obter conteúdo através de HTTPS. Por predefinição, configuram o identificador cURL para utilizar um proxy.
O exemplo do AzureIoT contém instruções e código para adicionar suporte de proxy Web ao exemplo.