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:
- 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
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):
Om du vill konfigurera programmet så att det kommunicerar direkt med en IoT-hubb använder du proxyexempelkoden i READMEStartWithIoTHub.md exempel och ändrar det enligt beskrivningen direkt i Ansluta till AzureIoT-hubben.
Om du vill konfigurera programmet att använda Azure DPS använder du proxyexempelkoden i exemplet READMEAddDPS eller READMEStartWithIoTCentral och ändrar det enligt beskrivningen i Anslut via Azure IoT Hub enhetsetableringstjänst.
Mer information om hur du lägger till proxystöd finns i READMEAddWebProxy.md.
Prover
Proxykodavsnitten visar följande:
- Kodavsnittet Konfigurera proxyinställningar visar hur du konfigurerar proxyinställningarna på en Azure Sphere-enhet.
- Kodavsnittet Hämta proxyinställningar visar hur du hämtar proxyinställningarna på en Azure Sphere-enhet.
- Kodavsnittet Aktivera/inaktivera konfigurerad proxykod visar hur du aktiverar/inaktiverar en redan konfigurerad proxy på en Azure Sphere-enhet.
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.