Konfigurieren eines IoT Edge-Geräts für die Kommunikation über einen ProxyserverConfigure an IoT Edge device to communicate through a proxy server

IoT Edge-Geräte senden HTTPS-Anforderungen, um mit IoT Hub zu kommunizieren.IoT Edge devices send HTTPS requests to communicate with IoT Hub. Wenn Ihr Gerät mit einem Netzwerk verbunden ist, das einen Proxyserver verwendet, müssen Sie die IoT Edge-Runtime für die Kommunikation über den Server konfigurieren.If your device is connected to a network that uses a proxy server, you need to configure the IoT Edge runtime to communicate through the server. Proxyserver können auch einzelne IoT Edge-Module beeinflussen, wenn sie HTTP- oder HTTPS-Anforderungen senden, die nicht über den IoT Edge-Hub weitergeleitet werden.Proxy servers can also affect individual IoT Edge modules if they make HTTP or HTTPS requests that aren't routed through the IoT Edge hub.

Dieser Artikel geht die folgenden vier Schritte zum Konfigurieren und anschließenden Verwalten eines IoT Edge-Geräts durch, das sich hinter einem Proxyserver befindet:This article walks through the following four steps to configure and then manage an IoT Edge device behind a proxy server:

  1. Installieren Sie die IoT Edge-Runtime auf Ihrem Gerät.Install the IoT Edge runtime on your device

    Die IoT Edge-Installationsskripts pullen Pakete und Dateien aus dem Internet, weshalb Ihr Gerät über den Proxyserver kommunizieren können muss, um diese Anforderungen auszuführen.The IoT Edge installation scripts pull packages and files from the internet, so your device needs to communicate through the proxy server to make those requests. Windows-Geräten bietet das Installationsskript außerdem eine Option für die Offlineinstallation.For Windows devices, the installation script also provides an offline installation option.

    Dieser Schritt ist ein einmaliger Prozess zum Konfigurieren des IoT Edge-Geräts, wenn Sie es zum ersten Mal einrichten.This step is a one-time process to configure the IoT Edge device when you first set it up. Dieselben Verbindungen sind ebenfalls erforderlich, wenn Sie IoT Edge-Runtime aktualisieren.The same connections are also required when you update the IoT Edge runtime.

  2. Konfigurieren Sie den Docker-Daemon und den IoT Edge-Daemon auf Ihrem Gerät.Configure the Docker daemon and the IoT Edge daemon on your device

    IoT Edge verwendet zwei Daemons auf dem Gerät, die beide Webanforderungen über den Proxyserver stellen müssen.IoT Edge uses two daemons on the device, both of which need to make web requests through the proxy server. Der IoT Edge-Daemon ist verantwortlich für die Kommunikation mit dem IoT Hub.The IoT Edge daemon is responsible for communications with IoT Hub. Der Moby-Daemon ist verantwortlich für die Containerverwaltung, kommuniziert also mit Containerregistrierungen.The Moby daemon is responsible for container management, so communicates with container registries.

    Dieser Schritt ist ein einmaliger Prozess zum Konfigurieren des IoT Edge-Geräts, wenn Sie es zum ersten Mal einrichten.This step is a one-time process to configure the IoT Edge device when you first set it up.

  3. Konfigurieren Sie die IoT Edge-Agent-Eigenschaften in der Datei „config.yaml“ auf Ihrem Gerät.Configure the IoT Edge agent properties in the config.yaml file on your device

    Der IoT Edge-Daemon startet zunächst das edgeAgent-Modul.The IoT Edge daemon starts the edgeAgent module initially. Dann ruft das edgeAgent-Modul das Bereitstellungsmanifest aus IoT Hub ab und startet alle anderen Module.Then, the edgeAgent module retrieves the deployment manifest from IoT Hub and starts all the other modules. Damit der IoT Edge-Agent die anfängliche Verbindung mit dem IoT Hub herstellen kann, konfigurieren Sie die Umgebungsvariablen des edgeAgent-Moduls manuell auf dem Gerät selbst.For the IoT Edge agent to make the initial connection to IoT Hub, configure the edgeAgent module environment variables manually on the device itself. Nach der ersten Verbindung können Sie das edgeAgent-Modul remote konfigurieren.After the initial connection, you can configure the edgeAgent module remotely.

    Dieser Schritt ist ein einmaliger Prozess zum Konfigurieren des IoT Edge-Geräts, wenn Sie es zum ersten Mal einrichten.This step is a one-time process to configure the IoT Edge device when you first set it up.

  4. Legen Sie für alle zukünftigen Modulbereitstellungen Umgebungsvariablen für jedes Modul fest, das über den Proxy kommuniziert.For all future module deployments, set environment variables for any module communicating through the proxy

    Nachdem Ihr IoT Edge-Gerät eingerichtet und durch den Proxyserver mit IoT Hub verbunden ist, müssen Sie die Verbindung in allen zukünftigen Modulbereitstellungen beibehalten.Once your IoT Edge device is set up and connected to IoT Hub through the proxy server, you need to maintain the connection in all future module deployments.

    Dieser Schritt ist ein fortlaufender Prozess, der remote ausgeführt wird, sodass jedes neue Modul oder Bereitstellungsupdate die Fähigkeit des Geräts beibehält, über den Proxyserver zu kommunizieren.This step is an ongoing process done remotely so that every new module or deployment update maintains the device's ability to communicate through the proxy server.

Ermitteln der Webproxy-URLKnow your proxy URL

Bevor Sie mit einem der Schritte in diesem Artikel beginnen, müssen Sie Ihre Proxy-URL kennen.Before you begin any of the steps in this article, you need to know your proxy URL.

Proxy-URLs haben das folgende Format: Protokoll://Proxyhost:Proxyport.Proxy URLs take the following format: protocol://proxy_host:proxy_port.

  • Das Protokoll ist entweder HTTP oder HTTPS.The protocol is either HTTP or HTTPS. Der Docker-Daemon kann abhängig von den Einstellungen Ihrer Containerregistrierung beide Protokolle verwenden, aber für den IoT Edge-Daemon und die Runtimecontainer sollte für Verbindungen mit dem Proxy immer HTTP verwendet werden.The Docker daemon can use either protocol, depending on your container registry settings, but the IoT Edge daemon and runtime containers should always use HTTP to connect to the proxy.

  • Der Proxyhost ist eine Adresse für den Proxyserver.The proxy_host is an address for the proxy server. Wenn Ihr Proxyserver eine Authentifizierung erfordert, können Sie Ihre Anmeldeinformationen als Teil von „Proxyhost“ mit dem folgenden Format eingeben: Benutzer:Kennwort@Proxyhost.If your proxy server requires authentication, you can provide your credentials as part of the proxy host with the following format: user:password@proxy_host.

  • Der Proxyport ist der Netzwerkport, an dem der Proxy auf Netzwerkdatenverkehr antwortet.The proxy_port is the network port at which the proxy responds to network traffic.

Installieren der Runtime durch einen ProxyInstall the runtime through a proxy

Ob Ihr IoT Edge-Gerät unter Windows oder Linux ausgeführt wird, Sie müssen über den Proxyserver auf die Installationspakete zugreifen.Whether your IoT Edge device runs on Windows or Linux, you need to access the installation packages through the proxy server. Befolgen Sie in Abhängigkeit von Ihrem Betriebssystem die Schritte zum Installieren der IoT Edge-Runtime durch einen Proxyserver.Depending on your operating system, follow the steps to install the IoT Edge runtime through a proxy server.

Linux-GeräteLinux devices

Wenn Sie IoT Edge-Runtime auf einem Linux-Gerät installieren, konfigurieren Sie den Paket-Manager so, dass er über den Proxyserver auf das Installationspaket zugreift.If you're installing the IoT Edge runtime on a Linux device, configure the package manager to go through your proxy server to access the installation package. Beispiel: Richten Sie „apt-get“ zur Verwendung eines http-Proxys ein.For example, Set up apt-get to use a http-proxy. Nachdem Sie Ihren Paket-Manager konfiguriert haben, befolgen Sie die Anweisungen unter Installieren oder Deinstallieren von Azure IoT Edge-Runtime wie gewohnt.Once your package manager is configured, follow the instructions in Install Azure IoT Edge runtime as usual.

Windows-GeräteWindows devices

Wenn Sie IoT Edge-Runtime auf einem Windows-Gerät installieren, müssen Sie den Proxyserver zwei Mal durchlaufen.If you're installing the IoT Edge runtime on a Windows device, you need to go through the proxy server twice. Mit der ersten Verbindung wird die Installationsskriptdatei heruntergeladen, und die zweite Verbindung erfolgt während der Installation, um die erforderlichen Komponenten herunterzuladen.The first connection downloads the installer script file, and the second connection is during the installation to download the necessary components. Sie können Proxyinformationen in den Windows-Einstellungen konfigurieren oder Ihre Proxyinformationen direkt in die PowerShell-Befehle aufnehmen.You can configure proxy information in Windows settings, or include your proxy information directly in the PowerShell commands.

Die folgenden Schritte zeigen ein Beispiel für eine Windows-Installation mithilfe des -proxy-Arguments:The following steps demonstrate an example of a windows installation using the -proxy argument:

  1. Der Befehl Invoke-WebRequest benötigt Proxyinformationen, um auf das Installationsprogrammskript zuzugreifen.The Invoke-WebRequest command needs proxy information to access the installer script. Anschließend benötigt der Befehl Deploy-IoTEdge die Proxyinformationen, um die Installationsdateien herunterzuladen.Then the Deploy-IoTEdge command needs the proxy information to download the installation files.

    . {Invoke-WebRequest -proxy <proxy URL> -useb aka.ms/iotedge-win} | Invoke-Expression; Deploy-IoTEdge -proxy <proxy URL>
    
  2. Der Befehl Initialize-IoTEdge muss nicht über den Proxyserver gehen, daher benötigt der zweite Schritt nur Proxyinformationen für Invoke-WebRequest.The Initialize-IoTEdge command doesn't need to go through the proxy server, so the second step only requires proxy information for Invoke-WebRequest.

    . {Invoke-WebRequest -proxy <proxy URL> -useb aka.ms/iotedge-win} | Invoke-Expression; Initialize-IoTEdge
    

Wenn Sie komplexe Anmeldeinformationen für den Proxyserver verwenden, die nicht in die URL eingeschlossen werden können, verwenden Sie den Parameter -ProxyCredential innerhalb von -InvokeWebRequestParameters.If you have complicated credentials for the proxy server that can't be included in the URL, use the -ProxyCredential parameter within -InvokeWebRequestParameters. Beispiel:For example,

$proxyCredential = (Get-Credential).GetNetworkCredential()
. {Invoke-WebRequest -proxy <proxy URL> -ProxyCredential $proxyCredential -useb aka.ms/iotedge-win} | Invoke-Expression; `
Deploy-IoTEdge -InvokeWebRequestParameters @{ '-Proxy' = '<proxy URL>'; '-ProxyCredential' = $proxyCredential }

Weitere Informationen zu Proxyparametern finden Sie unter Invoke-WebRequest.For more information about proxy parameters, see Invoke-WebRequest. Weitere Informationen zu Windows-Installationsparametern finden Sie unter PowerShell-Skripts für IoT Edge unter Windows.For more information about Windows installation parameters, see PowerShell scripts for IoT Edge on Windows.

Konfigurieren der DaemonsConfigure the daemons

IoT Edge basiert auf zwei Daemons, die auf dem IoT Edge-Gerät ausgeführt werden.IoT Edge relies on two daemons running on the IoT Edge device. Der Moby-Daemon ruft mit Webanforderungen Containerimages aus Containerregistrierungen ab.The Moby daemon makes web requests to pull container images from container registries. Der IoT Edge-Daemon kommuniziert über Webanforderungen mit IoT Hub.The IoT Edge daemon makes web requests to communicate with IoT Hub.

Sowohl der Moby- als auch der IoT Edge-Daemon muss für die Verwendung des Proxyservers konfiguriert sein, damit das Gerät fortwährend funktionieren kann.Both the Moby and the IoT Edge daemons need to be configured to use the proxy server for ongoing device functionality. Dieser Schritt erfolgt auf dem IoT Edge-Gerät während der anfänglichen Geräteeinrichtung.This step takes place on the IoT Edge device during initial device setup.

Moby-DaemonMoby daemon

Da Moby auf Docker basiert, finden Sie in der Docker-Dokumentation Informationen, wie der Moby-Daemon mit Umgebungsvariablen konfiguriert wird.Since Moby is built on Docker, refer to the Docker documentation to configure the Moby daemon with environment variables. Die meisten Containerregistrierungen (einschließlich DockerHub und Azure Container Registry-Instanzen) unterstützen HTTPS-Anforderungen, daher sollten Sie den Parameter HTTPS_PROXY festlegen.Most container registries (including DockerHub and Azure Container Registries) support HTTPS requests, so the parameter that you should set is HTTPS_PROXY. Wenn Sie Images aus einer Registrierung abrufen, die Transport Layer Security (TLS) nicht unterstützt, sollten Sie den Parameter HTTP_PROXY festlegen.If you're pulling images from a registry that doesn't support transport layer security (TLS), then you should set the HTTP_PROXY parameter.

Wählen Sie den Artikel aus, der für Ihr IoT Edge-Gerätebetriebssystem gilt:Choose the article that applies to your IoT Edge device operating system:

IoT Edge-DaemonIoT Edge daemon

Der IoT Edge-Daemon wird in ähnlicher Weise wie der Moby-Daemon konfiguriert.The IoT Edge daemon is configured in a similar manner to the Moby daemon. Verwenden Sie je nach Betriebssystem die folgenden Schritte, um eine Umgebungsvariable für den Dienst festzulegen.Use the following steps to set an environment variable for the service, based on your operating system.

Der IoT Edge-Daemon verwendet immer HTTPS, um Anforderungen an IoT Hub zu senden.The IoT Edge daemon always uses HTTPS to send requests to IoT Hub.

LinuxLinux

Öffnen Sie einen Editor im Terminal, um den IoT Edge-Daemon zu konfigurieren.Open an editor in the terminal to configure the IoT Edge daemon.

sudo systemctl edit iotedge

Geben Sie den folgenden Text ein, und ersetzen Sie dabei <proxy URL> durch die Adresse und den Port Ihres Proxyservers.Enter the following text, replacing <proxy URL> with your proxy server address and port. Wählen Sie dann „Speichern“ und „Beenden“ aus.Then, save and exit.

[Service]
Environment="https_proxy=<proxy URL>"

Aktualisieren Sie den Dienst-Manager, um die neue Konfiguration für IoT Edge zu übernehmen.Refresh the service manager to pick up the new configuration for IoT Edge.

sudo systemctl daemon-reload

Starten Sie IoT Edge neu, damit die Änderungen wirksam werden.Restart IoT Edge for the changes to take effect.

sudo systemctl restart iotedge

Stellen Sie sicher, dass die Umgebungsvariable erstellt wurde und die neue Konfiguration geladen wurde.Verify that your environment variable was created, and the new configuration was loaded.

systemctl show --property=Environment iotedge

WindowsWindows

Öffnen Sie ein PowerShell-Fenster als Administrator, und führen Sie den folgenden Befehl zum Bearbeiten der Registrierung mit der neuen Umgebungsvariable aus.Open a PowerShell window as an administrator and run the following command to edit the registry with the new environment variable. Ersetzen Sie <proxy url> durch die Adresse und den Port Ihres Proxyservers.Replace <proxy url> with your proxy server address and port.

reg add HKLM\SYSTEM\CurrentControlSet\Services\iotedge /v Environment /t REG_MULTI_SZ /d https_proxy=<proxy URL>

Starten Sie IoT Edge neu, damit die Änderungen wirksam werden.Restart IoT Edge for the changes to take effect.

Restart-Service iotedge

Konfigurieren des IoT Edge-AgentsConfigure the IoT Edge agent

Der IoT Edge-Agent ist das erste Modul, das auf einem IoT Edge-Gerät gestartet wird.The IoT Edge agent is the first module to start on any IoT Edge device. Es wird zum ersten Mal mit den Informationen in der IoT Edge-Datei „config.yaml“ gestartet.It's started for the first time based on the information in the IoT Edge config.yaml file. Der IoT Edge-Agent stellt anschließend eine Verbindung mit IoT Hub her, um Bereitstellungsmanifeste abzurufen, die deklarieren, welche weiteren Module auf dem Gerät bereitgestellt werden sollen.The IoT Edge agent then connects to IoT Hub to retrieve deployment manifests, which declare what other modules should be deployed on the device.

Dieser Schritt erfolgt einmalig auf dem IoT Edge-Gerät während der anfänglichen Geräteeinrichtung.This step takes place once on the IoT Edge device during initial device setup.

  1. Öffnen Sie die Datei „config.yaml“ auf Ihrem IoT Edge-Gerät.Open the config.yaml file on your IoT Edge device. In Linux-Systemen befindet sich diese Datei unter /etc/iotedge/config.yaml.On Linux systems, this file is located at /etc/iotedge/config.yaml. In Windows-Systemen befindet sich diese Datei unter C:\ProgramData\iotedge\config.yaml.On Windows systems, this file is located at C:\ProgramData\iotedge\config.yaml. Die Konfigurationsdatei ist geschützt. Sie benötigen also Administratorrechte, um darauf zuzugreifen.The configuration file is protected, so you need administrative privileges to access it. Auf Linux-Systemen verwenden Sie den Befehl sudo, bevor Sie die Datei in Ihrem bevorzugten Text-Editor öffnen.On Linux systems, use the sudo command before opening the file in your preferred text editor. Unter Windows öffnen Sie einen Text-Editor wie Editor als Administrator und öffnen dann die Datei.On Windows, open a text editor like Notepad as administrator and then open the file.

  2. Suchen Sie in der Datei „config.yaml“ nach dem Abschnitt Edge Agent module spec.In the config.yaml file, find the Edge Agent module spec section. Die IoT Edge-Agent-Definition enthält einen env-Parameter, dem Sie Umgebungsvariablen hinzufügen können.The IoT Edge agent definition includes an env parameter where you can add environment variables.

  3. Entfernen Sie die geschweiften Klammern, die Platzhalter für den env-Parameter darstellen, und fügen Sie die neue Variable in einer neuen Zeile hinzu.Remove the curly brackets that are placeholders for the env parameter, and add the new variable on a new line. Denken Sie daran, dass Einzüge in YAML zwei Leerzeichen sind.Remember that indents in YAML are two spaces.

    https_proxy: "<proxy URL>"
    
  4. Die IoT Edge-Runtime verwendet standardmäßig AMQP für die Kommunikation mit IoT Hub.The IoT Edge runtime uses AMQP by default to talk to IoT Hub. Einige Proxyserver blockieren AMQP-Ports.Some proxy servers block AMQP ports. Wenn dies der Fall ist, müssen Sie „edgeAgent“ auch so konfigurieren, dass AMQP über WebSocket verwendet wird.If that's the case, then you also need to configure edgeAgent to use AMQP over WebSocket. Fügen Sie eine zweite Umgebungsvariable hinzu.Add a second environment variable.

    UpstreamProtocol: "AmqpWs"
    

    edgeAgent-Definition mit Umgebungsvariablen

  5. Speichern Sie die Änderungen an „config.yaml“, und schließen Sie den Editor.Save the changes to config.yaml and close the editor. Starten Sie IoT Edge neu, damit die Änderungen wirksam werden.Restart IoT Edge for the changes to take effect.

    • Linux:Linux:

      sudo systemctl restart iotedge
      
    • Windows:Windows:

      Restart-Service iotedge
      

Konfigurieren von BereitstellungsmanifestenConfigure deployment manifests

Nachdem Ihr IoT Edge-Gerät für die Verwendung Ihres Proxyservers konfiguriert wurde, müssen Sie die Umgebungsvariable „HTTPS_PROXY“ auch in allen zukünftigen Bereitstellungsmanifesten deklarieren.Once your IoT Edge device is configured to work with your proxy server, you need to continue to declare the HTTPS_PROXY environment variable in future deployment manifests. Sie können Bereitstellungsmanifeste entweder mit dem Azure-Portal-Assistenten bearbeiten, oder indem Sie eine JSON-Bereitstellungsmanifestdatei bearbeiten.You can edit deployment manifests either using the Azure portal wizard or by editing a deployment manifest JSON file.

Konfigurieren Sie die beiden Runtimemodule („edgeAgent“ und „edgeHub“) immer so, dass sie über den Proxyserver kommunizieren, damit sie eine Verbindung mit IoT Hub aufrechterhalten können.Always configure the two runtime modules, edgeAgent and edgeHub, to communicate through the proxy server so they can maintain a connection with IoT Hub. Wenn Sie die Proxyinformationen aus dem edgeAgent-Modul entfernen, besteht die einzige Möglichkeit zum Wiederherstellen der Verbindung darin, die Datei „config.yaml“ auf dem Gerät zu bearbeiten, wie im vorherigen Abschnitt beschrieben.If you remove the proxy information from the edgeAgent module, the only way to reestablish connection is by editing the config.yaml file on the device, as described in the previous section.

Zusätzlich zu den Modulen „edgeAgent“ und „edgeHub“ benötigen andere Module möglicherweise die Proxykonfiguration.In addition to the edgeAgent and edgeHub modules, other modules may need the proxy configuration. Für Module, die neben dem IoT-Hub Zugriff auf Azure-Ressourcen wie Blob Storage erfordern, muss in der Bereitstellungsmanifestdatei die HTTPS_PROXY-Variable angegeben sein.Modules that need to access Azure resources besides IoT Hub, such as blob storage, must have the HTTPS_PROXY variable specified in the deployment manifest file.

Das folgende Verfahren gilt für die gesamte Lebensdauer des IoT Edge-Geräts.The following procedure is applicable throughout the life of the IoT Edge device.

Azure-PortalAzure portal

Wenn Sie den Assistenten Module festlegen zum Erstellen von Bereitstellungen für IoT Edge-Geräte verwenden, verfügt jedes Modul über einen Abschnitt Umgebungsvariablen, in dem Sie Proxyserververbindungen konfigurieren können.When you use the Set modules wizard to create deployments for IoT Edge devices, every module has an Environment Variables section where you can configure proxy server connections.

Wählen Sie zum Konfigurieren der IoT Edge-Agent- und der IoT Edge-Hubmodule Laufzeiteinstellungen im ersten Schritt des Assistenten aus.To configure the IoT Edge agent and IoT Edge hub modules, select Runtime Settings on the first step of the wizard.

Erweiterte Einstellungen für die Edge-Laufzeit konfigurieren

Fügen Sie die Umgebungsvariable https_proxy den Definitionen der IoT Edge-Agent- und IoT Edge-Hub-Module hinzu.Add the https_proxy environment variable to both the IoT Edge agent and IoT Edge hub module definitions. Wenn Sie die Umgebungsvariable UpstreamProtocol in die Datei „config.yaml“ auf Ihrem IoT Edge-Gerät eingefügt haben, fügen Sie sie auch der IoT Edge-Agent-Moduldefinition hinzu.If you included the UpstreamProtocol environment variable in the config.yaml file on your IoT Edge device, add that to the IoT Edge agent module definition too.

Festlegen der https_proxy-Umgebungsvariable

Alle anderen Module, die Sie einem Bereitstellungsmanifest hinzufügen, folgen dem gleichen Muster.All other modules that you add to a deployment manifest follow the same pattern.

JSON-BereitstellungsmanifestdateienJSON deployment manifest files

Wenn Sie Bereitstellungen für IoT Edge-Geräte mithilfe von Vorlagen in Visual Studio Code oder durch das manuelle Erstellen von JSON-Dateien erstellen, können Sie die Umgebungsvariablen direkt jeder Moduldefinition hinzufügen.If you create deployments for IoT Edge devices using the templates in Visual Studio Code or by manually creating JSON files, you can add the environment variables directly to each module definition.

Verwenden Sie das folgende JSON-Format:Use the following JSON format:

"env": {
    "https_proxy": {
        "value": "<proxy URL>"
    }
}

Mit den Umgebungsvariablen sollte Ihre Moduldefinition wie das folgende edgeHub-Beispiel aussehen:With the environment variables included, your module definition should look like the following edgeHub example:

"edgeHub": {
    "type": "docker",
    "settings": {
        "image": "mcr.microsoft.com/azureiotedge-hub:1.0",
        "createOptions": ""
    },
    "env": {
        "https_proxy": {
            "value": "http://proxy.example.com:3128"
        }
    },
    "status": "running",
    "restartPolicy": "always"
}

Wenn Sie die Umgebungsvariable UpstreamProtocol in die Datei „confige.yaml“ auf Ihrem IoT Edge-Gerät eingefügt haben, fügen Sie sie auch der IoT Edge-Agent-Moduldefinition hinzu.If you included the UpstreamProtocol environment variable in the confige.yaml file on your IoT Edge device, add that to the IoT Edge agent module definition too.

"env": {
    "https_proxy": {
        "value": "<proxy URL>"
    },
    "UpstreamProtocol": {
        "value": "AmqpWs"
    }
}

Arbeiten mit Proxys für DatenverkehrsüberprüfungWorking with traffic-inspecting proxies

Wenn der Proxy, den Sie verwenden möchten, eine Datenverkehrsüberprüfung für TLS-gesicherte Verbindungen durchführt, ist es wichtig zu beachten, dass die Authentifizierung mit X.509-Zertifikaten nicht funktioniert.If the proxy you're attempting to use performs traffic inspection on TLS-secured connections, it's important to note that authentication with X.509 certificates doesn't work. IoT Edge richtet einen End-to-End-verschlüsselten TLS-Kanal mit dem angegebenen Zertifikat und Schlüssel ein.IoT Edge establishes a TLS channel that's encrypted end to end with the provided certificate and key. Wenn dieser Kanal wegen einer Datenverkehrsüberprüfung gestört ist, kann ihn der Proxy mit den richtigen Anmeldeinformationen nicht wiederherstellen, und IoT Hub und der IoT Hub-Gerätebereitstellungsdienst (Device Provisioning Service) geben einen Unauthorized-Fehler zurück.If that channel is broken for traffic inspection, the proxy can't reestablish the channel with the proper credentials, and IoT Hub and the IoT Hub device provisioning service return an Unauthorized error.

Wenn Sie einen Proxy verwenden möchten, der eine Datenverkehrsüberprüfung durchführt, müssen Sie entweder die SAS-Authentifizierung (Shared Access Signature) verwenden oder IoT Hub und den IoT Hub-Gerätebereitstellungsdienst einer Positivliste hinzugefügt haben, um die Überprüfung zu vermeiden.To use a proxy that performs traffic inspection, you must use either shared access signature authentication or have IoT Hub and the IoT Hub device provisioning service added to an allowlist to avoid inspection.

Nächste SchritteNext steps

Erfahren Sie mehr über die Rollen der IoT Edge-Runtime.Learn more about the roles of the IoT Edge runtime.

Behandeln Sie Installations- und Konfigurationsfehler mit Häufig auftretende Probleme und Lösungen für Azure IoT Edge.Troubleshoot installation and configuration errors with Common issues and resolutions for Azure IoT Edge