Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
IoT Edge 1.5
Důležité
Podporovanou verzí je IoT Edge 1.5 LTS. IoT Edge 1.4 LTS je konec životnosti od 12. listopadu 2024. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.
Zařízení IoT Edge odesílají požadavky HTTPS ke komunikaci se službou IoT Hub. Pokud se vaše zařízení připojí k síti, která používá proxy server, nakonfigurujte modul runtime IoT Edge tak, aby komunikuje přes server. Proxy servery můžou mít vliv také na jednotlivé moduly IoT Edge, pokud provedou požadavky HTTP nebo HTTPS, které nejsou směrovány přes centrum IoT Edge.
Tento článek vysvětluje čtyři kroky konfigurace a správy zařízení IoT Edge za proxy serverem:
Instalace modulu runtime IoT Edge na zařízení
Instalační skripty IoT Edge načítají balíčky a soubory z internetu, takže zařízení komunikuje přes proxy server, aby tyto požadavky vyřídilo. Instalační skript pro zařízení s Windows také poskytuje možnost offline instalace.
Tento krok je jednorázový proces konfigurace zařízení IoT Edge při prvním nastavení. Při aktualizaci modulu runtime IoT Edge také potřebujete stejná připojení.
Konfigurace IoT Edge a modulu runtime kontejneru na vašem zařízení
IoT Edge zpracovává komunikaci se službou IoT Hub. Modul runtime kontejneru spravuje kontejnery a komunikuje s registry kontejnerů. Obě tyto komponenty musí provádět webové požadavky prostřednictvím proxy serveru.
Tento krok je jednorázový proces konfigurace zařízení IoT Edge při prvním nastavení.
Konfigurace vlastností agenta IoT Edge v konfiguračním souboru na vašem zařízení
Proces démon IoT Edge nejprve spustí modul edgeAgent. Pak modul edgeAgent načte manifest nasazení ze služby IoT Hub a spustí všechny ostatní moduly. Ručně nakonfigurujte proměnné prostředí modulu edgeAgent na zařízení, aby agent IoT Edge navázal počáteční připojení ke službě IoT Hub. Po počátečním připojení můžete vzdáleně nakonfigurovat modul edgeAgent.
Tento krok je jednorázový proces konfigurace zařízení IoT Edge při prvním nastavení.
-
Po nastavení a připojení zařízení IoT Edge ke službě IoT Hub prostřednictvím proxy serveru udržujte připojení ve všech budoucích nasazeních modulů.
Tento krok probíhá vzdáleně, takže každá nová aktualizace modulu nebo aktualizace nasazení udržuje schopnost zařízení komunikovat prostřednictvím proxy serveru.
Seznámení s adresou URL proxy serveru
Než začnete s kroky v tomto článku, znáte adresu URL proxy serveru.
Adresy URL proxy serveru používají následující formát: protocol://proxy_host:proxy_port.
Protokol je HTTP nebo HTTPS. Démon Dockeru může v závislosti na nastavení registru kontejneru používat jeden protokol, ale kontejnery démon a modulu runtime IoT Edge vždy používají protokol HTTP pro připojení k proxy serveru.
Proxy_host je adresa proxy serveru. Pokud proxy server vyžaduje ověření, zadejte své přihlašovací údaje jako součást hostitele proxy serveru v následujícím formátu: user:password@proxy_host.
Proxy_port je síťový port, na kterém proxy server reaguje na provoz.
Instalace IoT Edge prostřednictvím proxy serveru
Bez ohledu na to, jestli vaše zařízení IoT Edge běží ve Windows nebo Linuxu, přejděte k instalačním balíčkům prostřednictvím proxy serveru. V závislosti na vašem operačním systému nainstalujte modul runtime IoT Edge prostřednictvím proxy serveru.
Zařízení s Linuxem
Pokud instalujete modul runtime IoT Edge na zařízení s Linuxem, nastavte správce balíčků tak, aby pro přístup k instalačnímu balíčku používal proxy server. Můžete například nastavit apt-get pro použití http-proxy. Po nastavení správce balíčků postupujte podle pokynů v Instalace modulu runtime Azure IoT Edge.
Zařízení s Windows využívající IoT Edge pro Linux ve Windows
Pokud instalujete modul runtime IoT Edge pomocí IoT Edge pro Linux ve Windows, modul runtime IoT Edge se ve výchozím nastavení nainstaluje na virtuální počítač s Linuxem. Nemusíte instalovat ani aktualizovat žádné další kroky.
Zařízení s Windows využívající kontejnery Windows
Pokud instalujete modul runtime IoT Edge na zařízení s Windows, musíte dvakrát projít proxy serverem. První připojení stáhne soubor skriptu instalačního programu a druhé připojení stáhne potřebné součásti během instalace. Informace o proxy serveru můžete nakonfigurovat v nastavení windows nebo zahrnout informace o proxy serveru přímo do příkazů PowerShellu.
Následující kroky ukazují příklad instalace systému Windows pomocí argumentu -proxy :
Příkaz Invoke-WebRequest potřebuje informace o proxy serveru pro přístup ke skriptu instalačního programu. Potom příkaz Deploy-IoTEdge potřebuje informace o proxy serveru ke stažení instalačních souborů.
. {Invoke-WebRequest -proxy <proxy URL> -useb aka.ms/iotedge-win} | Invoke-Expression; Deploy-IoTEdge -proxy <proxy URL>Příkaz Initialize-IoTEdge nemusí procházet proxy serverem, takže druhý krok vyžaduje pouze informace o proxy serveru pro Invoke-WebRequest.
. {Invoke-WebRequest -proxy <proxy URL> -useb aka.ms/iotedge-win} | Invoke-Expression; Initialize-IoTEdge
Pokud jsou přihlašovací údaje proxy serveru složité a nejde je zahrnout do adresy URL, použijte -ProxyCredential parametr v rámci -InvokeWebRequestParameters. Příklad:
$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 }
Další informace o parametrech proxy serveru naleznete v tématu Invoke-WebRequest.
Konfigurace IoT Edge a Moby
IoT Edge používá dva démony spuštěné na zařízení IoT Edge. Démon Moby načítá image kontejnerů z registrů kontejnerů. Démon IoT Edge komunikuje se službou IoT Hub.
Nakonfigurujte démony Moby i IoT Edge tak, aby používaly proxy server pro průběžné funkce zařízení. Tento krok proveďte na zařízení IoT Edge během počátečního nastavení.
Démon Moby
Protože je Moby založený na Dockeru, přečtěte si dokumentaci Dockeru ke konfiguraci démona Moby s proměnnými prostředí. Většina registrů kontejnerů, včetně DockerHubu a Azure Container Registry, podporuje požadavky HTTPS, takže nastavte parametr HTTPS_PROXY . Pokud načítáte image z registru, který nepodporuje protokol TLS (Transport Layer Security), měli byste nastavit parametr HTTP_PROXY .
Vyberte článek, který se týká operačního systému zařízení IoT Edge:
- Konfigurace démona Dockeru v Linuxu Na zařízeních s Linuxem se démon Moby stále nazývá Docker.
- Konfigurace démona Dockeru ve Windows Démon Moby na zařízeních s Windows se nazývá iotedge-moby. Názvy se liší, protože na zařízení s Windows je možné paralelně spouštět Jak Docker Desktop, tak Moby.
Démon IoT Edge
Démon IoT Edge je podobný démonu Moby. Pomocí následujícího postupu nastavte proměnnou prostředí pro službu na základě vašeho operačního systému.
Proces démon IoT Edge vždy používá protokol HTTPS k odesílání požadavků do IoT Hubu.
Operační systém Linux
V terminálu otevřete editor pro konfiguraci démona IoT Edge.
sudo systemctl edit aziot-edged
Zadejte následující text a nahraďte <adresu URL> proxy serveru adresou a portem proxy serveru. Pak uložte a ukončete.
[Service]
Environment="https_proxy=<proxy URL>"
Od verze 1.2 používá IoT Edge službu identit IoT ke zpracování zřizování zařízení pomocí ioT Hubu nebo služby IoT Hub Device Provisioning. Otevřete editor v terminálu a nakonfigurujte démona služby identit IoT.
sudo systemctl edit aziot-identityd
Zadejte následující text a nahraďte <adresu URL> proxy serveru adresou a portem proxy serveru. Pak uložte a ukončete.
[Service]
Environment="https_proxy=<proxy URL>"
Aktualizujte správce služeb, aby se obnovily nové konfigurace.
sudo systemctl daemon-reload
Restartujte systémové služby IoT Edge, aby se změny použily u obou démonů.
sudo iotedge system restart
Ověřte, že jsou k dispozici proměnné prostředí a nová konfigurace.
systemctl show --property=Environment aziot-edged
systemctl show --property=Environment aziot-identityd
Windows využívající IoT Edge pro Linux ve Windows
Přihlaste se k IoT Edge pro Linux na virtuálním počítači s Windows:
Connect-EflowVm
Ke konfiguraci démona IoT Edge použijte stejný postup jako v části Linux tohoto článku.
Windows využívající kontejnery Windows
Otevřete okno PowerShellu jako správce a spuštěním následujícího příkazu upravte registr pomocí nové proměnné prostředí. Nahraďte <adresu URL> proxy serveru adresou a portem proxy serveru.
reg add HKLM\SYSTEM\CurrentControlSet\Services\iotedge /v Environment /t REG_MULTI_SZ /d https_proxy=<proxy URL>
Restartujte IoT Edge, aby se změny projevily.
Restart-Service iotedge
Konfigurace agenta IoT Edge
Agent IoT Edge je prvním modulem, který se spustí na jakémkoli zařízení IoT Edge. Tento modul se spustí poprvé na základě informací v konfiguračním souboru IoT Edge. Agent IoT Edge se pak připojí ke službě IoT Hub a načte manifesty nasazení. Manifest deklaruje, které další moduly má zařízení nasadit.
Tento krok probíhá jednou na zařízení IoT Edge během počátečního nastavení zařízení.
Otevřete konfigurační soubor na zařízení IoT Edge:
/etc/aziot/config.toml. Pro přístup ke konfiguračnímu souboru potřebujete oprávnění správce. V systémech Linux použijtesudopříkaz před otevřením souboru v preferovaném textovém editoru.V konfiguračním souboru vyhledejte
[agent]část, která obsahuje všechny informace o konfiguraci modulu edgeAgent, které se mají použít při spuštění. Zkontrolujte, jestli[agent]oddíl neobsahuje komentáře.[agent]Pokud oddíl chybí, přidejte ho do souboruconfig.toml. Definice agenta IoT Edge obsahuje[agent.env]pododdíl, do kterého můžete přidat proměnné prostředí.Přidejte parametr https_proxy do oddílu proměnných prostředí a jako jeho hodnotu nastavte adresu URL proxy serveru.
[agent] name = "edgeAgent" type = "docker" [agent.config] image = "mcr.microsoft.com/azureiotedge-agent:1.5" [agent.env] # RuntimeLogLevel = "debug" # UpstreamProtocol = "AmqpWs" https_proxy = "<proxy URL>"Modul runtime IoT Edge používá ve výchozím nastavení ke komunikaci se službou IoT Hub protokol AMQP. Některé proxy servery blokují porty AMQP. Pokud tomu tak je, musíte také nakonfigurovat edgeAgent tak, aby používal AMQP přes WebSocket. Odeberte komentář z parametru
UpstreamProtocol.[agent.config] image = "mcr.microsoft.com/azureiotedge-agent:1.5" [agent.env] # RuntimeLogLevel = "debug" UpstreamProtocol = "AmqpWs" https_proxy = "<proxy URL>"Přidejte parametr https_proxy do oddílu proměnných prostředí a nastavte adresu URL proxy serveru jako její hodnotu.
[agent] name = "edgeAgent" type = "docker" [agent.config] image = "mcr.microsoft.com/azureiotedge-agent:1.5" [agent.env] # RuntimeLogLevel = "debug" # UpstreamProtocol = "AmqpWs" https_proxy = "<proxy URL>"Modul runtime IoT Edge ve výchozím nastavení používá AMQP ke komunikaci se službou IoT Hub. Některé proxy servery blokují porty AMQP. Pokud tomu tak je, musíte také nakonfigurovat edgeAgent tak, aby používal AMQP přes WebSocket. Odkomentujte
UpstreamProtocolparametr.[agent.config] image = "mcr.microsoft.com/azureiotedge-agent:1.5" [agent.env] # RuntimeLogLevel = "debug" UpstreamProtocol = "AmqpWs" https_proxy = "<proxy URL>"Uložte změny a zavřete editor. Použijte změny.
sudo iotedge config applyOvěřte, že se nastavení proxy serveru používá v
docker inspect edgeAgentEnvčásti. Pokud ne, musíte kontejner vytvořit znovu.sudo docker rm -f edgeAgentBěhem minuty se IoT Edge runtime znovu vytvoří
edgeAgent. Po opětovnémedgeAgentspuštění kontejnerudocker inspect edgeAgentpomocí příkazu ověřte, že nastavení proxy serveru odpovídá konfiguračnímu souboru.
Konfigurace manifestů nasazení
Po nakonfigurování zařízení IoT Edge pro práci s proxy serverem deklarujte proměnnou prostředí HTTPS_PROXY v budoucích manifestech nasazení. Manifesty nasazení můžete upravit pomocí průvodce webu Azure Portal nebo úpravou souboru JSON manifestu nasazení.
Vždy nakonfigurujte dva moduly modulu runtime, edgeAgent a edgeHub, aby komunikovali přes proxy server, aby udržovaly připojení ke službě IoT Hub. Pokud odeberete informace o proxy serveru z modulu edgeAgent, jediným způsobem, jak znovu vytvořit připojení, je upravit konfigurační soubor v zařízení, jak je popsáno v předchozí části.
Kromě modulů edgeAgent a edgeHub můžou další moduly potřebovat konfiguraci proxy serveru. Moduly, které přistupují k prostředkům Azure kromě IoT Hubu, jako je úložiště objektů blob, musí v souboru manifestu nasazení určit proměnnou HTTPS_PROXY.
Tento postup platí po celou dobu životnosti zařízení IoT Edge.
portál Azure
Když k vytváření nasazení pro zařízení IoT Edge použijete Průvodce nastavením modulů , každý modul má oddíl Proměnné prostředí, kde můžete nakonfigurovat připojení proxy serveru.
Pokud chcete nakonfigurovat agenta IoT Edge a moduly centra IoT Edge, vyberte v prvním kroku průvodce nastavení modulu runtime.
Přidejte proměnnou prostředí https_proxy do definice nastavení modulu runtime pro oba moduly: agenta IoT Edge a IoT Edge hub. Pokud do konfiguračního souboru v zařízení IoT Edge zahrnete proměnnou prostředí UpstreamProtocol , přidejte ji také do definice modulu agenta IoT Edge.
Všechny ostatní moduly, které přidáte do manifestu nasazení, se řídí stejným vzorem. Výběrem možnosti Použít změny uložte.
Soubory manifestu nasazení JSON
Pokud vytváříte nasazení pro zařízení IoT Edge pomocí šablon v editoru Visual Studio Code nebo ručně vytváříte soubory JSON, můžete proměnné prostředí přidat přímo do každé definice modulu. Pokud jste je nepřidali na webu Azure Portal, přidejte je sem do souboru manifestu JSON. Nahraďte <proxy URL> hodnotou.
Použijte následující formát JSON:
"env": {
"https_proxy": {
"value": "<proxy URL>"
}
}
V zahrnutých proměnných prostředí vypadá definice modulu jako v následujícím příkladu edgeHubu:
"edgeHub": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.5",
"createOptions": "{}"
},
"env": {
"https_proxy": {
"value": "http://proxy.example.com:3128"
}
},
"status": "running",
"restartPolicy": "always"
}
Pokud jste do souboru config.yaml v zařízení IoT Edge zahrnuli proměnnou prostředí UpstreamProtocol , přidejte ji také do definice modulu agenta IoT Edge.
"env": {
"https_proxy": {
"value": "<proxy URL>"
},
"UpstreamProtocol": {
"value": "AmqpWs"
}
}
Práce s proxy servery kontrolujícími provoz
Některé proxy servery, jako je Zscaler , můžou kontrolovat provoz šifrovaný protokolem TLS. Během kontroly provozu protokolu TLS certifikát vrácený proxy serverem není certifikát z cílového serveru, ale certifikát podepsaný vlastním kořenovým certifikátem proxy serveru. Moduly IoT Edge (včetně edgeAgent a edgeHubu) ve výchozím nastavení nedůvěřují certifikátu tohoto proxy serveru a metoda handshake protokolu TLS selže.
Pokud chcete vyřešit neúspěšný handshake, nastavte operační systém i moduly IoT Edge, aby důvěřovaly kořenovému certifikátu proxy, podle následujících kroků.
Nastavte certifikát proxy serveru v úložišti důvěryhodných kořenových certifikátů vašeho hostitelského operačního systému. Další informace o instalaci kořenového certifikátu naleznete v tématu Instalace kořenové certifikační autority do úložiště certifikátů operačního systému.
Nastavte zařízení IoT Edge tak, aby komunikuje přes proxy server odkazováním na certifikát v sadě důvěryhodných certifikátů. Další informace o tom, jak nastavit sadu důvěryhodných certifikátů, najdete v tématu
Správa důvěryhodné kořenové certifikační autority (sada důvěryhodnosti).< /a0>
Pokud chcete nastavit podporu proxy kontroly provozu pro kontejnery, které nespravuje IoT Edge, obraťte se na svého poskytovatele proxy serveru.
Plně kvalifikované názvy domén (FQDN) cílů, se kterými IoT Edge komunikuje
Pokud brána firewall vašeho proxy serveru vyžaduje přidání všech plně kvalifikovaných názvů domén do seznamu povolených pro připojení k internetu, projděte si seznam Povolení připojení ze zařízení IoT Edge a určete, které plně kvalifikované názvy domén chcete přidat.
Další kroky
Seznamte se s rolemi modulu runtime IoT Edge.
Řešení potíží s instalací a konfigurací v běžných problémech a řešeních pro Azure IoT Edge