Connettere Azure Sphere tramite un server proxy
Importante
Questa è la documentazione di Azure Sphere (legacy). Azure Sphere (legacy) viene ritirato il 27 settembre 2027 e gli utenti devono eseguire la migrazione ad Azure Sphere (integrato) entro questo periodo. Usare il selettore di versione posizionato sopra il sommario per visualizzare la documentazione di Azure Sphere (integrata).
È possibile configurare un dispositivo Azure Sphere per connettersi a Internet tramite un server proxy usando le librerie di applicazioni di Azure Sphere SDK (Applibs) o l'interfaccia della riga di comando. Quando questa funzionalità è abilitata, tutto il traffico del dispositivo passa attraverso il proxy. Il dispositivo può essere configurato per identificare il server proxy da usare, il tipo di server e il metodo di autenticazione.
Attualmente sono supportati solo i proxy HTTP.
Metodi di autenticazione
Sono supportati i metodi di autenticazione seguenti:
- Base: richiede all'utente di specificare un nome utente e una password per autenticare la connessione.
- Anonimo: consente agli utenti di connettersi in modo anonimo in modo che il nome utente e la password non siano necessari quando si usa la connessione al server proxy.
Configurazione del proxy tramite l'interfaccia della riga di comando
I comandi seguenti gestiscono l'uso dell'indirizzo proxy per la connessione di rete. Per altre informazioni, vedere azsphere device network proxy.
Operazione | Descrizione |
---|---|
proxy apply | Configura il proxy di rete nel dispositivo collegato. |
eliminazione proxy | Elimina la connessione proxy nel dispositivo collegato. |
proxy show | Mostra la connessione proxy nel dispositivo collegato. |
Configurazione del proxy con Applibs
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.
Applibs supportato per la configurazione del proxy
Sono supportati i seguenti 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
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 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 proxy. Questa funzionalità viene usata per le applicazioni a cui viene negato l'accesso generale alle impostazioni di rete, ma richiedono informazioni di configurazione proxy.
"Capabilities": {
"ReadNetworkProxyConfig": true
}
Usare MQTT per connettersi a hub IoT di Azure
Le applicazioni Azure IoT usano MQTT basato su TCP/IP per connettersi a un hub IoT di Azure. È necessario configurare l'applicazione per l'uso di MQTT su WebSocket in modo che il traffico venga reindirizzato correttamente tramite il proxy.
È possibile configurare l'applicazione per comunicare direttamente con un hub IoT oppure usare i servizi Device Provisioning di Azure:You can configure your application to communicate with an hub IoT directly, or use the Azure Device Provisioning Services (DPS):
Per configurare l'applicazione per comunicare direttamente con un hub IoT, usare il codice di esempio del proxy nell'esempio di READMEStartWithIoTHub.md e modificarlo come descritto in Connettersi direttamente all'hub AzureIoT.
Per configurare l'applicazione per l'uso del servizio Device Provisioning di Azure, usare il codice di esempio proxy nell'esempio READMEAddDPS o READMEStartWithIoTCentral e modificarlo come descritto in Connettersi tramite hub IoT di Azure servizio device provisioning.
Per altre informazioni sull'aggiunta del supporto proxy, vedere READMEAddWebProxy.md.
Esempi
I frammenti di codice proxy illustrano quanto segue:
- Il frammento di codice Configura impostazioni proxy illustra come configurare le impostazioni proxy in un dispositivo Azure Sphere.
- Il frammento di codice Get Proxy Settings (Ottieni impostazioni proxy) illustra come recuperare le impostazioni proxy in un dispositivo Azure Sphere.
- Il frammento di codice Enable/Disable Configured Proxy illustra come abilitare/disabilitare un proxy già configurato in un dispositivo Azure Sphere.
Gli esempi HTTPS illustrano l'uso delle API HTTPS_Curl_Easy e HTTPS_Curl_Multi per recuperare il 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 proxy Web all'esempio.