Ansluta Azure Sphere via en proxyserver

Du kan konfigurera en Azure Sphere-enhet för att ansluta till Internet via en proxyserver med hjälp av Azure Sphere SDK-programbiblioteken (Applibs) eller CLI. När den här funktionen är aktiverad flödar all enhetstrafik via proxyn. Enheten kan konfigureras för att identifiera den proxyserver som ska användas, typen av server och autentiseringsmetod.

Endast HTTP-proxyservrar stöds för närvarande.

Autentiseringsmetoder

Följande autentiseringsmetoder stöds:

  • Grundläggande: Uppmanar användaren att ange ett användarnamn och lösenord för att autentisera anslutningen.
  • Anonym: Tillåter att användare ansluter anonymt så att användarnamn och lösenord inte krävs när proxyserveranslutningen används.

Proxykonfiguration med CLI

Följande kommandon hanterar proxyadressanvändning för nätverksanslutning. Mer information finns i az sphere device network proxy.

Drift Beskrivning
proxy används Konfigurerar nätverksproxyn på den anslutna enheten.
proxyborttagning Tar bort proxyanslutningen på den anslutna enheten.
proxyvisning Visar proxyanslutning på den anslutna enheten.

Proxykonfiguration med Applibs

Om du vill konfigurera proxykonfiguration måste programmet använda Applibs-nätverks-API:t, vilket omfattar stöd för att hämta och ange proxykonfigurationsegenskaper.

Ta med den här rubrikfilen i programmet:

#include <applibs/networking.h>

Om du använder cURL i programmet och ansluter till Internet via en proxyserver måste du också ta med den här rubrikfilen:

#include <applibs/networking_curl.h>

Mer information om hur du använder cURL finns i Ansluta till webbtjänster.

Applibs för proxykonfiguration som stöds

Följande AppLibs stöds:

Krav för programmanifest

Programmanifestet måste innehålla funktionen NetworkConfig eller ReadNetworkProxyConfig. Funktionen bestämmer hur mycket åtkomst ditt program har till proxyinställningarna.

NetworkConfig-funktionen ger fullständig åtkomst till alla nätverkskonfigurationsinställningar. Programmet kan konfigurera, hämta och aktivera eller inaktivera proxyinställningar.

"Capabilities": {
  "NetworkConfig": true
}

Med funktionen ReadNetworkProxyConfig kan bara programmet hämta proxyinställningar. Den här funktionen används för program som nekas allmän åtkomst till nätverksinställningar, men som kräver information om proxykonfiguration.

"Capabilities": {
  "ReadNetworkProxyConfig": true
}

Använd MQTT för att ansluta till Azure IoT Hub

Azure IoT-program använder TCP/IP-baserad MQTT för att ansluta till en Azure IoT-hubb. Du måste konfigurera programmet så att det använder MQTT över WebSockets så att trafiken omdirigeras korrekt via proxyn.

Du kan konfigurera programmet så att det kommunicerar direkt med en IoT Hub eller använda Azure Device Provisioning Services (DPS):

Mer information om hur du lägger till proxystöd finns i READMEAddWebProxy.md.

Prover

Proxykodavsnitten visar följande:

HTTPS-exemplen visar hur du använder api:erna för HTTPS_Curl_Easy och HTTPS_Curl_Multi för att hämta innehåll via HTTPS. Som standard konfigurerar de cURL-handtaget till att använda en proxy.

AzureIoT-exemplet innehåller instruktioner och kod för att lägga till webbproxystöd i exemplet.