Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do:
IoT Edge 1.6
Ważne
IoT Edge 1.6 LTS jest obsługiwaną wersją. Wsparcie IoT Edge 1.5 LTS kończy się 10 listopada 2026 roku; IoT Edge 1.4 LTS zakończył życie 12 listopada 2024 roku. Jeśli używasz wcześniejszej wersji, zobacz Update IoT Edge.
IoT Edge urządzenia wysyłają żądania HTTPS do komunikacji z IoT Hub. Jeśli urządzenie łączy się z siecią korzystającą z serwera proxy, skonfiguruj środowisko uruchomieniowe IoT Edge do komunikacji za pośrednictwem serwera. Serwery proxy mogą również mieć wpływ na poszczególne moduły IoT Edge, jeśli wysyłają żądania HTTP lub HTTPS, które nie są kierowane przez centrum IoT Edge.
W tym artykule opisano cztery kroki konfigurowania urządzenia IoT Edge i zarządzania nim za serwerem proxy:
Zainstaluj środowisko uruchomieniowe IoT Edge na urządzeniu
Skrypty instalacji IoT Edge ściągają pakiety i pliki z Internetu, dzięki czemu urządzenie komunikuje się za pośrednictwem serwera proxy w celu wysłania tych żądań.
Ten krok to jednorazowy proces konfigurowania urządzenia IoT Edge podczas pierwszej konfiguracji. Te same połączenia są również potrzebne podczas aktualizowania środowiska uruchomieniowego IoT Edge.
Skonfiguruj IoT Edge i środowisko uruchomieniowe kontenera na swoim urządzeniu
IoT Edge obsługuje komunikację z IoT Hub. Środowisko uruchomieniowe kontenera zarządza kontenerami i komunikuje się z rejestrami kontenerów. Oba te składniki muszą wysyłać żądania internetowe za pośrednictwem serwera proxy.
Ten krok to jednorazowy proces konfigurowania urządzenia IoT Edge podczas pierwszej konfiguracji.
Konfiguruj właściwości agenta IoT Edge w pliku konfiguracji na urządzeniu
Demon IoT Edge uruchamia początkowo moduł edgeAgent. Następnie moduł edgeAgent pobiera manifest wdrożenia z IoT Hub i uruchamia wszystkie pozostałe moduły. Ręcznie skonfiguruj zmienne środowiskowe modułu edgeAgent na urządzeniu, aby agent IoT Edge nawiązał początkowe połączenie z IoT Hub. Po początkowym połączeniu można zdalnie skonfigurować moduł edgeAgent.
Ten krok to jednorazowy proces konfigurowania urządzenia IoT Edge podczas pierwszej konfiguracji.
-
Po skonfigurowaniu i połączeniu urządzenia IoT Edge z IoT Hub za pośrednictwem serwera proxy zachowaj połączenie we wszystkich przyszłych wdrożeniach modułów.
Ten krok jest procesem wykonywanym zdalnie, dzięki czemu każda nowa aktualizacja modułu lub wdrożenia utrzymuje możliwość komunikowania się urządzenia za pośrednictwem serwera proxy.
Znajomość adresu URL serwera proxy
Przed rozpoczęciem kroków opisanych w tym artykule zapoznaj się z adresem URL serwera proxy.
Adresy URL serwera proxy używają następującego formatu: protocol://proxy_host:proxy_port.
Protokół to HTTP lub HTTPS. Demon platformy Docker może używać dowolnego protokołu w zależności od ustawień rejestru kontenerów, ale demon IoT Edge i kontenery środowiska uruchomieniowego zawsze używają protokołu HTTP do nawiązania połączenia z serwerem proxy.
Proxy_host jest adresem serwera proxy. Jeśli serwer proxy wymaga uwierzytelniania, podaj poświadczenia jako część hosta serwera proxy w następującym formacie: user:password@proxy_host.
Proxy_port to port sieciowy, na którym serwer proxy reaguje na ruch.
Instalowanie IoT Edge za pośrednictwem serwera proxy
Niezależnie od tego, czy urządzenie IoT Edge działa w Windows, czy Linux, uzyskaj dostęp do pakietów instalacyjnych za pośrednictwem serwera proxy. W zależności od systemu operacyjnego wykonaj kroki instalacji środowiska uruchomieniowego IoT Edge za pośrednictwem serwera proxy.
Urządzenia z systemem Linux
Jeśli instalujesz środowisko uruchomieniowe IoT Edge na urządzeniu z systemem Linux, skonfiguruj menedżera pakietów, aby uzyskać dostęp do pakietu instalacyjnego przy użyciu serwera proxy. Na przykład skonfiguruj polecenie apt-get, aby używać serwera proxy http. Po skonfigurowaniu menedżera pakietów postępuj zgodnie z instrukcjami w Install Azure IoT Edge runtime.
Urządzenia z systemem Windows korzystające z IoT Edge dla Linux w środowisku Windows
Jeśli instalujesz środowisko uruchomieniowe IoT Edge przy użyciu IoT Edge dla systemu Linux w Windows, środowisko uruchomieniowe IoT Edge jest instalowane domyślnie na maszynie wirtualnej z systemem Linux. Nie musisz instalować ani aktualizować żadnych innych elementów.
Konfiguracja IoT Edge i Moby
IoT Edge używa dwóch demonów działających na urządzeniu IoT Edge. Demon Moby ściąga obrazy kontenerów z rejestrów kontenerów. Demon IoT Edge komunikuje się z IoT Hub.
Skonfiguruj zarówno demony Moby, jak i IoT Edge, aby używały serwera proxy do bieżącej funkcjonalności urządzenia. Wykonaj ten krok na urządzeniu IoT Edge podczas początkowej konfiguracji.
Demon Moby
Ponieważ platforma Moby jest oparta na platformie Docker, zapoznaj się z dokumentacją platformy Docker, aby skonfigurować demona Moby ze zmiennymi środowiskowymi. Większość rejestrów kontenerów, w tym dockerHub i Azure rejestrów kontenerów, obsługuje żądania HTTPS, dlatego należy ustawić parametr HTTPS_PROXY. Jeśli ściągasz obrazy z rejestru, który nie obsługuje zabezpieczeń warstwy transportu (TLS), należy ustawić parametr HTTP_PROXY .
Wybierz artykuł, który ma zastosowanie do systemu operacyjnego urządzenia IoT Edge:
- Konfiguracja demona Docker na Linuksie Na urządzeniach z systemem Linux demon Moby nadal nazywa się Docker.
demon IoT Edge
Demon IoT Edge jest podobny do demona Moby. Wykonaj poniższe kroki, aby ustawić zmienną środowiskową dla usługi na podstawie systemu operacyjnego.
Demon IoT Edge zawsze używa protokołu HTTPS do wysyłania żądań do IoT Hub.
Linux
W terminalu otwórz edytor, aby skonfigurować demona IoT Edge.
sudo systemctl edit aziot-edged
Wprowadź następujący tekst, zastępując <adres URL> serwera proxy adresem serwera proxy i portem. Następnie zapisz i zamknij.
[Service]
Environment="https_proxy=<proxy URL>"
Począwszy od wersji 1.2, IoT Edge używa usługi tożsamości IoT do obsługi aprowizacji urządzeń za pomocą usługi IoT Hub lub IoT Hub Device Provisioning Service. Otwórz edytor w terminalu, aby skonfigurować demona usługi tożsamości IoT.
sudo systemctl edit aziot-identityd
Wprowadź następujący tekst, zastępując <adres URL> serwera proxy adresem serwera proxy i portem. Następnie zapisz i zamknij.
[Service]
Environment="https_proxy=<proxy URL>"
Odśwież menedżera usług, aby pobrać nowe konfiguracje.
sudo systemctl daemon-reload
Uruchom ponownie systemowe usługi IoT Edge, aby zastosować zmiany do obu demonów systemowych.
sudo iotedge system restart
Sprawdź, czy są obecne zmienne środowiskowe i nowa konfiguracja.
systemctl show --property=Environment aziot-edged
systemctl show --property=Environment aziot-identityd
Windows z użyciem IoT Edge dla Linuksa na Windowsie
Zaloguj się do IoT Edge dla systemu Linux na maszynie wirtualnej Windows:
Connect-EflowVm
Wykonaj te same kroki co sekcja systemu Linux w tym artykule, aby skonfigurować demona IoT Edge.
Konfigurowanie agenta IoT Edge
Agent IoT Edge jest pierwszym modułem, który należy uruchomić na dowolnym urządzeniu IoT Edge. Ten moduł jest uruchamiany po raz pierwszy na podstawie informacji w pliku konfiguracji IoT Edge. Następnie agent IoT Edge nawiązuje połączenie z IoT Hub w celu pobrania manifestów wdrożenia. Manifest deklaruje, które inne moduły powinny zostać wdrożone przez urządzenie.
Ten krok odbywa się raz na urządzeniu IoT Edge podczas początkowej konfiguracji urządzenia.
Otwórz plik konfiguracji na urządzeniu IoT Edge:
/etc/aziot/config.toml. Aby uzyskać dostęp do pliku konfiguracji, musisz mieć uprawnienia administracyjne. W systemach Linux użyjsudopolecenia przed otwarciem pliku w preferowanym edytorze tekstów.W pliku konfiguracji znajdź sekcję
[agent]zawierającą wszystkie informacje o konfiguracji modułu edgeAgent do użycia podczas uruchamiania. Sprawdź, czy[agent]sekcja nie ma komentarzy.[agent]Jeśli brakuje sekcji, dodaj ją do plikuconfig.toml. Definicja agenta IoT Edge zawiera podsekcję[agent.env], w której można dodać zmienne środowiskowe.Dodaj parametr https_proxy do sekcji zmiennych środowiskowych i ustaw adres URL serwera proxy jako jego wartość.
[agent] name = "edgeAgent" type = "docker" [agent.config] image = "mcr.microsoft.com/azureiotedge-agent:1.6" [agent.env] # RuntimeLogLevel = "debug" # UpstreamProtocol = "AmqpWs" https_proxy = "<proxy URL>"Środowisko uruchomieniowe IoT Edge domyślnie używa protokołu AMQP do komunikowania się z IoT Hub. Niektóre serwery proxy blokują porty AMQP. Jeśli tak jest, należy również skonfigurować agenta edgeAgent do używania protokołu AMQP za pośrednictwem protokołu WebSocket. Usuń komentarz z parametru
UpstreamProtocol.[agent.config] image = "mcr.microsoft.com/azureiotedge-agent:1.6" [agent.env] # RuntimeLogLevel = "debug" UpstreamProtocol = "AmqpWs" https_proxy = "<proxy URL>"Zapisz zmiany i zamknij edytor. Zastosuj wprowadzone zmiany.
sudo iotedge config applySprawdź, czy ustawienia serwera proxy są stosowane przy użyciu
docker inspect edgeAgentw sekcjiEnv. Jeśli nie, musisz ponownie utworzyć kontener.sudo docker rm -f edgeAgentŚrodowisko uruchomieniowe IoT Edge odtwarza
edgeAgentw ciągu minuty. Po ponownym uruchomieniu konteneraedgeAgentużyjdocker inspect edgeAgentpolecenia , aby sprawdzić, czy ustawienia serwera proxy są zgodne z plikiem konfiguracji.
Konfigurowanie manifestów wdrożenia
Po skonfigurowaniu urządzenia IoT Edge do pracy z serwerem proxy zadeklaruj zmienną środowiskową HTTPS_PROXY w przyszłych manifestach wdrożenia. Manifesty wdrażania można edytować przy użyciu kreatora portalu Azure lub edytując plik JSON manifestu wdrożenia.
Zawsze konfiguruj dwa moduły środowiska uruchomieniowego edgeAgent i edgeHub, aby komunikować się za pośrednictwem serwera proxy, aby zachować połączenie z IoT Hub. Jeśli usuniesz informacje o serwerze proxy z modułu edgeAgent, jedynym sposobem na ponowne nawiązanie połączenia jest edytowanie pliku konfiguracyjnego na urządzeniu, jak opisano w poprzedniej sekcji.
Oprócz modułów edgeAgent i edgeHub inne moduły mogą wymagać konfiguracji serwera proxy. Moduły, które uzyskują dostęp do zasobów Azure oprócz IoT Hub, takich jak magazyn obiektów blob, muszą określać zmienną HTTPS_PROXY w pliku manifestu wdrożenia.
Ta procedura ma zastosowanie przez cały czas użytkowania urządzenia IoT Edge.
Azure Portal
Jeśli używasz kreatora Set modules do tworzenia wdrożeń dla urządzeń IoT Edge, każdy moduł ma sekcję Zmienne środowiskowe, w której można skonfigurować połączenia serwera proxy.
Aby skonfigurować moduły agenta IoT Edge i IoT Edge Hub, wybierz pozycję Ustawienia środowiska uruchomieniowego w pierwszym kroku kreatora.
Dodaj zmienną środowiskową https_proxy do definicji ustawień czasu uruchomienia zarówno dla agenta IoT Edge, jak i modułów centrum IoT Edge. Jeśli dołączysz zmienną środowiskową UpstreamProtocol w pliku konfiguracji na urządzeniu IoT Edge, dodaj ją również do definicji modułu agenta IoT Edge.
Wszystkie inne moduły dodawane do manifestu wdrożenia są zgodne z tym samym wzorcem. Wybierz pozycję Zastosuj, aby zapisać zmiany.
Pliki manifestu wdrożenia JSON
Jeśli tworzysz wdrożenia dla urządzeń IoT Edge przy użyciu szablonów w Visual Studio Code lub ręcznie tworząc pliki JSON, możesz dodać zmienne środowiskowe bezpośrednio do każdej definicji modułu. Jeśli nie dodano ich w portalu Azure, dodaj je tutaj do pliku manifestu JSON. Zastąp <proxy URL> swoją wartością.
Użyj następującego formatu JSON:
"env": {
"https_proxy": {
"value": "<proxy URL>"
}
}
W przypadku uwzględnionych zmiennych środowiskowych definicja modułu wygląda podobnie do następującego przykładu edgeHub:
"edgeHub": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.6",
"createOptions": "{}"
},
"env": {
"https_proxy": {
"value": "http://proxy.example.com:3128"
}
},
"status": "running",
"restartPolicy": "always"
}
Jeśli dołączono zmienną środowiskową UpstreamProtocol w pliku config.toml na urządzeniu IoT Edge, dodaj to również do definicji modułu agenta IoT Edge.
"env": {
"https_proxy": {
"value": "<proxy URL>"
},
"UpstreamProtocol": {
"value": "AmqpWs"
}
}
Współpraca z serwerami proxy analizującymi ruch
Niektóre serwery proxy, takie jak Zscaler , mogą sprawdzać ruch szyfrowany protokołem TLS. Podczas inspekcji ruchu tls certyfikat zwracany przez serwer proxy nie jest certyfikatem z serwera docelowego, ale jest certyfikatem podpisanym przez własny certyfikat główny serwera proxy. Domyślnie moduły IoT Edge (w tym edgeAgent i edgeHub) nie ufają certyfikatowi tego serwera proxy i uzgadnianie protokołu TLS kończy się niepowodzeniem.
Aby naprawić nieudane uzgadnianie, skonfiguruj zarówno system operacyjny, jak i moduły IoT Edge, aby ufać certyfikatowi głównemu serwera proxy, wykonując następujące kroki.
Skonfiguruj certyfikat proxy w sklepie zaufanych certyfikatów głównych systemu operacyjnego hosta. Aby uzyskać więcej informacji na temat sposobu instalowania głównego certyfikatu, zapoznaj się z Instalowaniem głównego certyfikatu w magazynie certyfikatów systemu operacyjnego.
Skonfiguruj urządzenie IoT Edge do komunikacji za pośrednictwem serwera proxy, odwołując się do certyfikatu w pakiecie zaufania. Aby uzyskać więcej informacji na temat konfigurowania pakietu zaufania, zobacz Zarządzanie zaufanym głównym urzędem certyfikacji (pakiet zaufania).
Aby skonfigurować wsparcie dla proxy do inspekcji ruchu dla kontenerów, które nie są zarządzane przez IoT Edge, skontaktuj się z dostawcą proxy.
W pełni kwalifikowane nazwy domen (FQDN) miejsc docelowych, z którymi komunikuje się IoT Edge
Jeśli zapora serwera proxy wymaga dodania wszystkich nazw FQDN do listy dozwolonych dla łączności z Internetem, zapoznaj się z listą z Allow connections from IoT Edge devices aby określić, które nazwy FQDN dodać.
Następne kroki
Dowiedz się więcej o rolach środowiska uruchomieniowego IoT Edge.
Rozwiąż problemy z instalacją i konfiguracją w Najczęstsze problemy i rozwiązania dla Azure IoT Edge.