プロキシ サーバー経由で Azure Sphere を接続する

重要

これは Azure Sphere (レガシ) のドキュメントです。 Azure Sphere (レガシ) は 2027 年 9 月 27 日に 再提供されておりユーザーは現時点で Azure Sphere (統合) に移行する必要があります。 TOC の上にある Version セレクターを使用して、Azure Sphere (統合) のドキュメントを表示します。

Azure Sphere SDK アプリケーション ライブラリ (Applibs) または CLI を使用して、プロキシ サーバー経由でインターネットに接続するように Azure Sphere デバイスを構成できます。 この機能を有効にすると、すべてのデバイス トラフィックがプロキシを通過します。 使用するプロキシ サーバー、サーバーの種類、認証方法を識別するようにデバイスを構成できます。

現在サポートされているのは HTTP プロキシのみです。

認証方法

次の認証情報がサポートされています。

  • 基本: 接続を認証するためのユーザー名とパスワードの入力をユーザーに求めます。
  • 匿名: プロキシ サーバー接続を使用するときにユーザー名とパスワードが不要になるように、ユーザーが匿名で接続できるようにします。

CLI を使用したプロキシ構成

次のコマンドは、ネットワーク接続でのプロキシ アドレスの使用を管理します。 詳細については、 azsphere デバイス ネットワーク プロキシを参照してください。

操作 説明
proxy apply 接続されているデバイスでネットワーク プロキシを構成します。
proxy delete 接続されているデバイスのプロキシ接続を削除します。
proxy show 接続されているデバイス上のプロキシ接続を表示します。

Applibs を使用したプロキシ構成

プロキシ構成を設定するには、アプリケーションで Applibs ネットワーク API を使用する必要があります。これには、プロキシ構成プロパティの取得と設定のサポートが含まれます。

アプリケーションに次のヘッダー ファイルを含めます。

#include <applibs/networking.h>

アプリケーションで cURL を使用し、プロキシ サーバー経由でインターネットに接続している場合は、次のヘッダー ファイルも含める必要があります。

#include <applibs/networking_curl.h>

cURL の使用の詳細については、「 Connect to Web サービス」を参照してください。

プロキシ構成でサポートされている Applibs

次の AppLibs がサポートされています。

アプリケーション マニフェストの要件

アプリケーション マニフェストには、NetworkConfig または ReadNetworkProxyConfig 機能が含まれている必要があります。 この機能により、アプリケーションがプロキシ設定に対して持つアクセスの程度が決まります。

NetworkConfig 機能は、すべてのネットワーク構成設定へのフル アクセスを許可します。 これにより、アプリケーションでプロキシ設定を構成、取得、および有効または無効にすることができます。

"Capabilities": {
  "NetworkConfig": true
}

ReadNetworkProxyConfig 機能では、アプリケーションがプロキシ設定を取得することのみが許可されます。 この機能は、ネットワーク設定への一般的なアクセスが拒否されるが、プロキシ構成情報が必要なアプリケーションに使用されます。

"Capabilities": {
  "ReadNetworkProxyConfig": true
}

MQTT を使用して Azure IoT Hub に接続する

Azure IoT アプリケーションでは、TCP/IP ベースの MQTT を使用して Azure IoT ハブに接続します。 トラフィックがプロキシ経由で適切にリダイレクトされるように、WebSocket 経由で MQTT を使用するようにアプリケーションを構成する必要があります。

IoT Hub と直接通信するようにアプリケーションを構成することも、Azure Device Provisioning Services (DPS) を使用することもできます。

プロキシ サポートの追加の詳細については、 READMEAddWebProxy.mdを参照してください。

サンプル

proxy コード スニペット次の例を示します。

  • プロキシ設定の構成コード スニペットは、Azure Sphere デバイスでプロキシ設定を構成する方法を示しています。
  • Get Proxy Settings コード スニペットは、Azure Sphere デバイスでプロキシ設定を取得する方法を示しています。
  • 構成済みプロキシの有効化/無効化コード スニペットは、Azure Sphere デバイスで既に構成されているプロキシを有効または無効にする方法を示しています。

HTTPS サンプルではHTTPS_Curl_EasyとHTTPS_Curl_Multi API を使用して HTTPS 経由でコンテンツをフェッチする方法を示します。 既定では、プロキシを使用するように cURL ハンドルを構成します。

AzureIoT サンプルには、サンプルにweb プロキシ サポートを追加するための手順とコードが含まれています。