Łączenie usługi Azure Sphere za pomocą serwera proxy
Możesz skonfigurować urządzenie Azure Sphere w celu łączenia się z Internetem za pośrednictwem serwera proxy przy użyciu bibliotek aplikacji SDK Azure Sphere (Applibs) lub cli. Gdy ta funkcja jest włączona, cały ruch urządzenia przepływa przez serwer proxy. Urządzenie można skonfigurować do identyfikowania serwera proxy, który ma być używany, typu serwera i metody uwierzytelniania.
Obecnie obsługiwane są tylko serwery proxy HTTP.
Metody uwierzytelniania
Obsługiwane są następujące metody uwierzytelniania:
- Podstawowe: monituje użytkownika o podanie nazwy użytkownika i hasła w celu uwierzytelnienia połączenia.
- Anonimowe. Umożliwia użytkownikom anonimowe łączenie się, dzięki czemu nazwa użytkownika i hasło nie są wymagane podczas korzystania z połączenia serwera proxy.
Konfiguracja serwera proxy przy użyciu interfejsu klienta
Poniższe polecenia umożliwiają zarządzanie użyciem adresu serwera proxy na potrzeby połączenia sieciowego. Aby uzyskać więcej informacji, zobacz serwer proxy sieci az sphere device.
Operacji | Opis |
---|---|
zastosuj serwer proxy | Konfiguruje serwer proxy sieci na dołączonym urządzeniu. |
usuwanie serwera proxy | Usuwa połączenie serwera proxy na dołączonym urządzeniu. |
pokaz serwera proxy | Pokazuje połączenie serwera proxy na dołączonym urządzeniu. |
Konfiguracja serwera proxy przy użyciu aplikacji Applibs
Aby skonfigurować konfigurację serwera proxy, aplikacja musi korzystać z interfejsu API sieciowego Applibs, który obejmuje obsługę uzyskiwania i ustawiania właściwości konfiguracji serwera proxy.
Uwzględnij ten plik nagłówka w aplikacji:
#include <applibs/networking.h>
Jeśli używasz cURL w aplikacji i łączysz się z Internetem za pośrednictwem serwera proxy, musisz również dołączyć ten plik nagłówka:
#include <applibs/networking_curl.h>
Aby uzyskać więcej informacji na temat korzystania z cURL, zobacz Łączenie się z usługami sieci Web.
Obsługiwane aplikacje dla konfiguracji serwera proxy
Obsługiwane są następujące aplikacje:
- 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
Wymagania dotyczące manifestu aplikacji
Manifest aplikacji musi zawierać funkcję NetworkConfig lub ReadNetworkProxyConfig . Funkcja określa stopień dostępu aplikacji do ustawień serwera proxy.
Funkcja NetworkConfig zapewnia pełny dostęp do wszystkich ustawień konfiguracji sieci. Umożliwia ona aplikacji konfigurowanie, pobieranie i włączanie lub wyłączanie ustawień serwera proxy.
"Capabilities": {
"NetworkConfig": true
}
Funkcja ReadNetworkProxyConfig umożliwia tylko aplikacji pobieranie ustawień serwera proxy. Ta funkcja jest używana w przypadku aplikacji, które nie mają ogólnego dostępu do ustawień sieciowych, ale wymagają informacji o konfiguracji serwera proxy.
"Capabilities": {
"ReadNetworkProxyConfig": true
}
Nawiązywanie połączenia z Azure IoT Hub za pomocą wykresu MQTT
Aplikacje Azure IoT używają protokołu MQTT opartego na protokołu TCP/IP do łączenia się z centrum IoT Azure. Musisz skonfigurować aplikację do używania MQTT za pośrednictwem websockets, tak aby ruch był prawidłowo przekierowywane za pośrednictwem serwera proxy.
Możesz skonfigurować aplikację do bezpośredniej komunikacji z IoT Hub lub korzystać z usług azure device provisioning Services (DPS):
Aby skonfigurować aplikację do bezpośredniej komunikacji z centrum IoT, użyj kodu przykładowego serwera proxy w przykładzie READMEStartWithIoTHub.md i zmodyfikuj go zgodnie z opisem w temacie Bezpośrednie łączenie się z centrum AzureIoT.
Aby skonfigurować aplikację do korzystania z usługi Azure DPS, użyj przykładowego kodu serwera proxy w próbce READMEAddDPS lub READMEStartWithIoTCentral i zmodyfikuj go w sposób opisany w artykule Łączenie za pośrednictwem usługi inicjowania obsługi urządzeń Azure IoT Hub.
Aby uzyskać więcej informacji na temat dodawania obsługi serwera proxy, zobacz READMEAddWebProxy.md.
Próbki
Fragmenty kodu serwera proxy przedstawiają następujące elementy:
- W wycinku kodu Konfiguruj ustawienia serwera proxy pokazano, jak skonfigurować ustawienia serwera proxy na urządzeniu Azure Sphere.
- W wycinku kodu Uzyskaj ustawienia serwera proxy pokazano, jak pobrać ustawienia serwera proxy na urządzeniu Azure Sphere.
- W obszarze Włącz/Wyłącz skonfigurowany kod serwera proxy pokazano, jak włączyć/wyłączyć już skonfigurowany serwer proxy na urządzeniu Azure Sphere.
Przykłady protokołu HTTPS przedstawiają używanie interfejsów API HTTPS_Curl_Easy i HTTPS_Curl_Multi do pobierania zawartości za pośrednictwem protokołu HTTPS. Domyślnie konfigurują uchwyt cURL do używania serwera proxy.
Przykład usługi AzureIoT zawiera instrukcje i kod dodawania obsługi serwera proxy sieci Web do próbki.