Connettere Azure Sphere tramite un server proxy
È possibile configurare un dispositivo Azure Sphere per la connessione a Internet tramite un server proxy utilizzando le librerie di applicazioni Azure Sphere SDK (Applibs) o l'cli. Quando questa funzionalità è abilitata, tutto il traffico del dispositivo scorre attraverso il proxy. Il dispositivo può essere configurato per identificare il server proxy da utilizzare, il tipo di server e il metodo di autenticazione.
Al momento sono supportati solo proxy HTTP.
Metodi di autenticazione
Sono supportati i metodi di autenticazione seguenti:
- Di base: richiede all'utente un nome utente e una password per l'autenticazione della connessione.
- Anonimo: consente agli utenti di connettersi in modalità anonima in modo che il nome utente e la password non siano necessari quando si usa la connessione al server proxy.
Configurazione del proxy tramite cli
I comandi seguenti gestiscono l'uso dell'indirizzo proxy per la connessione di rete. Per ulteriori informazioni, vedi proxy di rete del dispositivo az sphere.
Operazione | Descrizione |
---|---|
proxy applicare | Configura il proxy di rete nel dispositivo collegato. |
eliminazione proxy | Elimina la connessione proxy nel dispositivo collegato. |
mostra proxy | Mostra la connessione proxy nel dispositivo collegato. |
Configurazione del proxy tramite applicazioni
Per configurare la configurazione del proxy, l'applicazione deve usare l'API di rete Applibs, che include il supporto per ottenere e impostare le proprietà di configurazione del proxy.
Includere questo file di intestazione nell'applicazione:
#include <applibs/networking.h>
Se si usa cURL nell'applicazione e ci si connette a Internet tramite un server proxy, è necessario includere anche questo file di intestazione:
#include <applibs/networking_curl.h>
Per altre informazioni sull'uso di cURL, vedere Connettersi ai servizi Web.
Applicazioni supportate per la configurazione del proxy
Sono supportate le seguenti AppLib:
- 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
Requisiti del manifesto dell'applicazione
Il manifesto dell'applicazione deve includere la funzionalità NetworkConfig o ReadNetworkProxyConfig . La funzionalità determina il grado di accesso dell'applicazione alle impostazioni del proxy.
La funzionalità NetworkConfig concede l'accesso completo a tutte le impostazioni di configurazione di rete. Consente all'applicazione di configurare, recuperare e abilitare o disabilitare le impostazioni proxy.
"Capabilities": {
"NetworkConfig": true
}
La funzionalità ReadNetworkProxyConfig consente solo all'applicazione di recuperare le impostazioni del proxy. Questa funzionalità viene utilizzata per le applicazioni alle quali viene negato l'accesso generale alle impostazioni di rete, ma che richiedono informazioni di configurazione del proxy.
"Capabilities": {
"ReadNetworkProxyConfig": true
}
Usa MQTT per connetterti a hub IoT di Azure
Le applicazioni IoT di Azure usano MQTT basato su TCP/IP per connettersi a un hub IoT di Azure. È necessario configurare l'applicazione per l'utilizzo di MQTT su WebBytes in modo che il traffico venga correttamente reindirizzato tramite il proxy.
È possibile configurare l'applicazione in modo da comunicare direttamente con un hub IoT oppure usare i servizi di provisioning dei dispositivi (DPS) di Azure:
Per configurare l'applicazione per la comunicazione diretta con un hub IoT, usare il codice di esempio proxy nell'esempio di READMEStartWithIoTHub.md e modificarlo come descritto in Connettersi direttamente all'hub AzureIoT.
Per configurare l'applicazione per l'uso di Azure DPS, usare il codice di esempio proxy nell'esempio READMEAddDPS o READMEStartWithIoTCentral e modificarlo come descritto in Connettersi tramite hub IoT di Azure servizio di provisioning del dispositivo.
Per altre informazioni sull'aggiunta del supporto per il proxy, vedere READMEAddWebProxy.md.
Campioni
I frammenti di codice proxy mostrano quanto segue:
- Il frammento di codice Configura impostazioni proxy mostra come configurare le impostazioni proxy in un dispositivo Azure Sphere.
- Il frammento di codice Ottieni impostazioni proxy mostra come recuperare le impostazioni proxy in un dispositivo Azure Sphere.
- Il frammento di codice Proxy configurato Enable/Disable dimostra come abilitare/disabilitare un proxy già configurato in un dispositivo Azure Sphere.
Gli esempi HTTPS mostrano come usare le API HTTPS_Curl_Easy e HTTPS_Curl_Multi per recuperare contenuto tramite HTTPS. Per impostazione predefinita, configurano l'handle cURL per l'uso di un proxy.
L'esempio AzureIoT contiene istruzioni e codice per l'aggiunta del supporto del proxy Web all'esempio.