透過 Proxy 伺服器連接 Azure 球體
您可以使用 Azure 球體 SDK 應用程式庫 (Applibs) 或 CLI,設定 Azure 球體裝置透過 Proxy 伺服器連線到因特網。 啟用此功能時,所有透過 Proxy 的裝置流量。 您可以將裝置設定為識別要使用的 Proxy 伺服器、伺服器類型和驗證方法。
目前僅支援 HTTP Proxy。
驗證方法
支援下列驗證方法:
- 基本:提示使用者輸入使用者名稱和密碼以驗證連線。
- 匿名:允許使用者以匿名方式連線,讓使用者在使用 Proxy 伺服器連線時不需要使用者名稱和密碼。
使用 CLI 的 Proxy 設定
下列命令會管理網路連線的 Proxy 位址使用方式。 如需詳細資訊,請參閱 az 球形裝置網路 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 設定支援的Applib
支援下列 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 中樞。 您必須將應用程式設定為透過 WebSockets 使用 MQTT,以便透過 Proxy 正確地重新導向流量。
您可以設定應用程式直接與 IoT 中樞 通訊,或使用 Azure 裝置佈建服務 (DPS) :
若要將應用程式設定為直接與IoT中樞通訊,請使用 READMEStartWithIoTHub.md 範例中的 Proxy 範例程序代碼,並 如直接連線至 AzureIoT 中樞中所述進行修改。
若要將應用程式設定為使用 Azure DPS,請使用 READMEAddDPS 或 READMEStartWithIoTCentral 範例中的 Proxy 範例代碼,並依照透過 Azure IoT 中樞 裝置佈建服務連線中所述進行修改。
如需新增 Proxy 支援的詳細資訊,請參 閱 READMEAddWebProxy.md。
樣品
Proxy 程式代碼片段示範下列專案:
- [設定 Proxy 設定] 代碼片段示範如何在 Azure 球體裝置上設定 Proxy 設定。
- [取得 Proxy 設定] 代碼段示範如何擷取 Azure 球體裝置上的 Proxy 設定。
- 啟用/停用設定的 Proxy 程式代碼片段示範如何啟用/停用 Azure 球體裝置上已設定的 Proxy。
HTTPS 樣本示範使用 HTTPS_Curl_Easy 和 HTTPS_Curl_Multi API 透過 HTTPS 擷取內容。 根據預設,他們會設定 cURL 控點以使用 Proxy。
AzureIoT 範例包含將 Web Proxy 支援新增至樣本的指示和程式代碼。