Share via


Verbinden von Azure Sphere über einen Proxyserver

Sie können ein Azure Sphere-Gerät so konfigurieren, dass es über einen Proxyserver mithilfe der Azure Sphere SDK-Anwendungsbibliotheken (Applibs) oder der CLI eine Verbindung mit dem Internet herstellt. Wenn dieses Feature aktiviert ist, fließt der gesamte 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:

  • Basic: Fordert den Benutzer zur Eingabe eines Benutzernamens und kennworts auf, um die Verbindung zu authentifizieren.
  • Anonym: Ermöglicht Benutzern, eine anonyme Verbindung herzustellen, sodass benutzername und kennwort nicht erforderlich sind, wenn die Proxyserververbindung verwendet wird.

Proxykonfiguration mithilfe der CLI

Die folgenden Befehle verwalten die Verwendung der Proxyadresse für die Netzwerkverbindung. Weitere Informationen finden Sie unter azsphere device network proxy.

Vorgang Beschreibung
Proxy anwenden Konfiguriert den Netzwerkproxy auf dem angefügten Gerät.
Proxylöschung Löscht die Proxyverbindung auf dem angefügten Gerät.
Proxy-Show Zeigt die Proxyverbindung auf dem angefügten 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 über einen Proxyserver eine Verbindung mit dem Internet 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:

Anforderungen an das Anwendungsmanifest

Das Anwendungsmanifest muss die Funktion NetworkConfig oder ReadNetworkProxyConfig enthalten. Die Funktion bestimmt, wie viel Zugriff Ihre Anwendung auf die Proxyeinstellungen hat.

Die NetworkConfig-Funktion gewährt Vollzugriff auf alle Netzwerkkonfigurationseinstellungen. Damit kann Ihre Anwendung Proxyeinstellungen konfigurieren, abrufen und aktivieren oder deaktivieren.

"Capabilities": {
  "NetworkConfig": true
}

Mit der Funktion ReadNetworkProxyConfig kann Ihre Anwendung nur Proxyeinstellungen abrufen. Diese Funktion wird für Anwendungen verwendet, denen der allgemeine Zugriff auf Netzwerkeinstellungen verweigert wird, aber Proxykonfigurationsinformationen erfordern.

"Capabilities": {
  "ReadNetworkProxyConfig": true
}

Verwenden von MQTT zum Herstellen einer Verbindung mit Azure IoT Hub

Azure IoT-Anwendungen verwenden TCP/IP-basiertes MQTT, um eine Verbindung mit einem Azure IoT Hub herzustellen. Sie müssen Ihre Anwendung so konfigurieren, dass MQTT über WebSockets verwendet wird, damit datenverkehr ordnungsgemäß über den Proxy umgeleitet wird.

Sie können Ihre Anwendung für die direkte Kommunikation mit einem IoT Hub konfigurieren oder die Azure Device Provisioning Services (DPS) verwenden:

Weitere Informationen zum Hinzufügen von Proxyunterstützung finden Sie unter READMEAddWebProxy.md.

Proben

Die Proxycodeausschnitte veranschaulichen Folgendes:

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 von Webproxyunterstützung zum Beispiel.