Verbinden von Azure Sphere über einen Proxyserver
Wichtig
Dies ist die Dokumentation zu Azure Sphere (Legacy). Azure Sphere (Legacy) wird am 27. September 2027 eingestellt, und Benutzer müssen bis zu diesem Zeitpunkt zu Azure Sphere (integriert) migrieren. Verwenden Sie die Versionsauswahl oberhalb des Inhaltsverzeichniss, um die Dokumentation zu Azure Sphere (Integriert) anzuzeigen.
Sie können ein Azure Sphere-Gerät so konfigurieren, dass eine Verbindung mit dem Internet über einen Proxyserver über die Azure Sphere SDK-Anwendungsbibliotheken (Applibs) oder die CLI hergestellt wird. Wenn dieses Feature aktiviert ist, fließen alle Gerätedatenverkehr über den Proxy. Das Gerät kann so konfiguriert werden, dass der zu verwendende Proxyserver, der Servertyp und die Authentifizierungsmethode identifiziert werden.
Derzeit werden nur HTTP-Proxys unterstützt.
Authentifizierungsmethoden
Die folgenden Authentifizierungsmethoden werden unterstützt:
- Einfach: Fordert den Benutzer auf, einen Benutzernamen und ein Kennwort zur Authentifizierung der Verbindung einzugeben.
- Anonym: Ermöglicht Benutzern, anonym eine Verbindung herzustellen, sodass Benutzername und Kennwort bei Verwendung der Proxyserververbindung nicht erforderlich sind.
Proxykonfiguration mit der CLI
Die folgenden Befehle verwalten die Proxyadressenverwendung für die Netzwerkverbindung. Weitere Informationen finden Sie unter azsphere Device Network Proxy.
Vorgang | Beschreibung |
---|---|
Proxy übernehmen | Konfiguriert den Netzwerkproxy auf dem angefügten Gerät. |
Proxylöschung | Löscht die Proxyverbindung auf dem angefügten Gerät. |
Proxypräsentation | Zeigt die Proxyverbindung auf dem angeschlossenen Gerät an. |
Proxykonfiguration mit Applibs
Zum Einrichten der Proxykonfiguration muss Ihre Anwendung die Applibs-Netzwerk-API verwenden, die Unterstützung für das Abrufen und Festlegen von Proxykonfigurationseigenschaften umfasst.
Fügen Sie diese Headerdatei in Ihre Anwendung ein:
#include <applibs/networking.h>
Wenn Sie cURL in Ihrer Anwendung verwenden und eine Verbindung mit dem Internet über einen Proxyserver herstellen, müssen Sie auch diese Headerdatei einschließen:
#include <applibs/networking_curl.h>
Weitere Informationen zur Verwendung von cURL finden Sie unter Herstellen einer Verbindung mit Webdiensten.
Unterstützte Applibs für die Proxykonfiguration
Die folgenden AppLibs werden unterstützt:
- 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
Anforderungen für das Anwendungsmanifest
Das Anwendungsmanifest muss die NetworkConfig- oder ReadNetworkProxyConfig-Funktion enthalten. Die Funktion bestimmt den Grad des Zugriffs, den Ihre Anwendung auf die Proxyeinstellungen hat.
Die NetworkConfig-Funktion gewährt vollzugriff auf alle Netzwerkkonfigurationseinstellungen. Es ermöglicht Ihrer Anwendung, Proxyeinstellungen zu konfigurieren, abzurufen und zu aktivieren oder zu deaktivieren.
"Capabilities": {
"NetworkConfig": true
}
Mit der ReadNetworkProxyConfig-Funktion kann Ihre Anwendung nur Proxyeinstellungen abrufen. Diese Funktion wird für Anwendungen verwendet, die den allgemeinen Zugriff auf Netzwerkeinstellungen verweigert haben, aber Proxykonfigurationsinformationen erfordern.
"Capabilities": {
"ReadNetworkProxyConfig": true
}
Verwenden von MQTT zum Herstellen einer Verbindung mit Azure IoT Hub
Azure IoT-Anwendungen verwenden TCP/IP-basierte MQTT, um eine Verbindung mit einem Azure IoT-Hub herzustellen. Sie müssen Ihre Anwendung so konfigurieren, dass MQTT über WebSockets verwendet wird, damit der Datenverkehr ordnungsgemäß über den Proxy umgeleitet wird.
Sie können Ihre Anwendung so konfigurieren, dass sie direkt mit einem IoT-Hub kommuniziert oder die Azure Device Provisioning Services (DPS) verwenden:
Um Ihre Anwendung für die direkte Kommunikation mit einem IoT-Hub zu konfigurieren, verwenden Sie den Proxybeispielcode im READMEStartWithIoTHub.md Beispiel, und ändern Sie sie wie unter "Herstellen einer Direkten Verbindung mit AzureIoT-Hub" beschrieben.
Um Ihre Anwendung für die Verwendung von Azure DPS zu konfigurieren, verwenden Sie den Proxybeispielcode im READMEAddDPS - oder READMEStartWithIoTCentral-Beispiel , und ändern Sie sie wie in Connect über den Azure IoT Hub-Gerätebereitstellungsdienst beschrieben.
Weitere Informationen zum Hinzufügen der Proxyunterstützung finden Sie unter READMEAddWebProxy.md.
Beispiele
Die Proxycodeausschnitte veranschaulichen Folgendes:
- Der Codeausschnitt "Proxyeinstellungen konfigurieren" veranschaulicht, wie die Proxyeinstellungen auf einem Azure Sphere-Gerät konfiguriert werden.
- Der Codeausschnitt "Proxyeinstellungen abrufen" veranschaulicht, wie die Proxyeinstellungen auf einem Azure Sphere-Gerät abgerufen werden.
- Der Codeausschnitt "Konfigurierter Proxy aktivieren/deaktivieren" veranschaulicht, wie ein bereits konfigurierter Proxy auf einem Azure Sphere-Gerät aktiviert/deaktiviert wird.
Die HTTPS-Beispiele veranschaulichen die Verwendung der HTTPS_Curl_Easy- und HTTPS_Curl_Multi-APIs zum Abrufen von Inhalten über HTTPS. Standardmäßig konfigurieren sie das cURL-Handle für die Verwendung eines Proxys.
Das AzureIoT-Beispiel enthält Anweisungen und Code zum Hinzufügen der Webproxyunterstützung zum Beispiel.