透過 Proxy 伺服器連線 Azure Sphere
重要
這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。
您可以使用 Azure Sphere SDK 應用程式連結庫 (Applibs) 或 CLI,設定 Azure Sphere 裝置以透過 Proxy 伺服器連線到因特網。 啟用此功能時,所有裝置流量都會流經 Proxy。 裝置可以設定為識別要使用的 Proxy 伺服器、伺服器類型和驗證方法。
目前僅支援 HTTP Proxy。
驗證方法
支援下列驗證方法:
- 基本:提示使用者輸入使用者名稱和密碼來驗證連線。
- 匿名:允許使用者匿名連線,以便在使用 Proxy 伺服器連線時不需要使用者名稱和密碼。
使用 CLI 的 Proxy 設定
下列命令會管理用於網路連線的 Proxy 位址。 如需詳細資訊,請參閱 azsphere device network proxy。
作業 | 描述 |
---|---|
Proxy 套用 | 在連結的裝置上設定網路 Proxy。 |
Proxy 刪除 | 刪除連結裝置上的 Proxy 連線。 |
Proxy 顯示 | 顯示連結裝置上的 Proxy 連線。 |
使用 Applibs 的 Proxy 設定
若要設定 Proxy 組態,您的應用程式必須使用 Applibs 網路 API,其中包括取得和設定 Proxy 組態屬性的支援。
在應用程式中包含此標頭檔案:
#include <applibs/networking.h>
如果您在應用程式中使用 cURL 並透過 Proxy 伺服器連線到因特網,您也必須包含此標頭檔:
#include <applibs/networking_curl.h>
如需使用 cURL 的詳細資訊,請參閱連線至 Web 服務。
Proxy 設定支援的 Applibs
支援下列 AppLibs:
- 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
應用程式資訊清單需求
應用程式指令清單必須包含 NetworkConfig 或 ReadNetworkProxyConfig 功能。 此功能決定應用程式對 Proxy 設定的存取程度。
NetworkConfig 功能會授與所有網路組態設定的完整存取權。 它可讓您的應用程式設定、擷取及啟用或停用 Proxy 設定。
"Capabilities": {
"NetworkConfig": true
}
ReadNetworkProxyConfig 功能只允許您的應用程式擷取 Proxy 設定。 這項功能用於拒絕一般存取網路設定的應用程式,但需要 Proxy 組態資訊。
"Capabilities": {
"ReadNetworkProxyConfig": true
}
使用 MQTT 連線至 Azure IoT 中樞
Azure IoT 應用程式會使用 TCP/IP 型 MQTT 連線到 Azure IoT 中樞。 您必須將應用程式設定為透過 WebSocket 使用 MQTT,以便透過 Proxy 正確重新導向流量。
您可以設定應用程式直接與 IoT 中樞 通訊,或使用 Azure 裝置佈建服務 (DPS):
若要將應用程式設定為直接與IoT中樞通訊,請使用 READMEStartWithIoTHub.md 範例中的 Proxy 範例程式代碼,並修改它,如直接連線至 AzureIoT 中樞中所述。
若要將應用程式設定為使用 Azure DPS,請使用 READMEAddDPS 或 READMEStartWithIoTCentral 範例中的 Proxy 範例程式代碼,並修改它,如透過 Azure IoT 中樞 裝置布建服務連線中所述。
如需新增 Proxy 支援的詳細資訊,請參閱 READMEAddWebProxy.md。
範例
Proxy 代碼段 示範下列專案:
- 設定 Proxy 設定 代碼段示範如何在 Azure Sphere 裝置上設定 Proxy 設定。
- 取得 Proxy 設定 代碼段示範如何在 Azure Sphere 裝置上擷取 Proxy 設定。
- 啟用/停用設定的 Proxy 代碼段示範如何在 Azure Sphere 裝置上啟用/停用已設定的 Proxy。
HTTPS 範例示範如何使用 HTTPS_Curl_Easy 和 HTTPS_Curl_Multi API,透過 HTTPS 擷取內容。 根據預設,他們會將 cURL 句柄設定為使用 Proxy。
AzureIoT 範例包含將 Web Proxy 支援新增至範例的指示和程序代碼。