다음을 통해 공유


프록시 서버를 통해 Azure Sphere 연결

Azure Sphere SDK 애플리케이션 라이브러리(Applibs) 또는 CLI를 사용하여 프록시 서버를 통해 인터넷에 연결하도록 Azure Sphere 디바이스를 구성할 수 있습니다. 이 기능을 사용하도록 설정하면 모든 디바이스 트래픽이 프록시를 통해 흐릅니다. 사용할 프록시 서버, 서버 유형 및 인증 방법을 식별하도록 디바이스를 구성할 수 있습니다.

현재는 HTTP 프록시만 지원됩니다.

인증 방법

지원되는 인증 방법은 다음과 같습니다.

  • 기본: 사용자에게 연결을 인증할 사용자 이름 및 암호를 묻는 메시지를 표시합니다.
  • 익명: 프록시 서버 연결을 사용할 때 사용자 이름과 암호가 필요하지 않도록 사용자가 익명으로 연결할 수 있습니다.

CLI를 사용한 프록시 구성

다음 명령은 네트워크 연결에 프록시 주소 사용을 관리합니다. 자세한 내용은 azsphere device network proxy를 참조하세요.

작업 설명
프록시 적용 연결된 디바이스에서 네트워크 프록시를 구성합니다.
프록시 삭제 연결된 디바이스에서 프록시 연결을 삭제합니다.
proxy show 연결된 디바이스에서 프록시 연결을 표시합니다.

Applibs를 사용한 프록시 구성

프록시 구성을 설정하려면 애플리케이션에서 프록시 구성 속성을 가져오고 설정하는 지원이 포함된 Applibs 네트워킹 API를 사용해야 합니다.

애플리케이션에 다음 헤더 파일을 포함합니다.

#include <applibs/networking.h>

애플리케이션에서 cURL 사용하고 프록시 서버를 통해 인터넷에 연결하는 경우 이 헤더 파일도 포함해야 합니다.

#include <applibs/networking_curl.h>

cURL 사용에 대한 자세한 내용은 웹 서비스에 연결을 참조하세요.

프록시 구성에 지원되는 Applibs

지원되는 AppLibs는 다음과 같습니다.

애플리케이션 매니페스트 요구 사항

애플리케이션 매니페스트에는 NetworkConfig 또는 ReadNetworkProxyConfig 기능이 포함되어야 합니다. 이 기능은 애플리케이션이 프록시 설정에 대한 액세스 수준을 결정합니다.

NetworkConfig 기능은 모든 네트워크 구성 설정에 대한 모든 액세스 권한을 부여합니다. 이를 통해 애플리케이션은 프록시 설정을 구성, 검색 및 사용하거나 사용하지 않도록 설정할 수 있습니다.

"Capabilities": {
  "NetworkConfig": true
}

ReadNetworkProxyConfig 기능은 애플리케이션이 프록시 설정을 검색할 수 있도록 허용합니다. 이 기능은 네트워크 설정에 대한 일반적인 액세스가 거부되었지만 프록시 구성 정보가 필요한 애플리케이션에 사용됩니다.

"Capabilities": {
  "ReadNetworkProxyConfig": true
}

MQTT를 사용하여 Azure IoT Hub 연결

Azure IoT 애플리케이션은 TCP/IP 기반 MQTT를 사용하여 Azure IoT Hub에 연결합니다. 트래픽이 프록시를 통해 제대로 리디렉션되도록 WebSockets를 통해 MQTT를 사용하도록 애플리케이션을 구성해야 합니다.

IoT Hub 직접 통신하도록 애플리케이션을 구성하거나 Azure DPS(Device Provisioning Services)를 사용할 수 있습니다.

프록시 지원을 추가하는 방법에 대한 자세한 내용은 READMEAddWebProxy.md 참조 하세요.

샘플

프록시 코드 조각은 다음을 보여 줍니다.

HTTPS 샘플에서는 HTTPS_Curl_Easy 및 HTTPS_Curl_Multi API를 사용하여 HTTPS를 통해 콘텐츠를 가져오는 방법을 보여 줍니다. 기본적으로 프록시를 사용하도록 cURL 핸들을 구성합니다.

AzureIoT 샘플에는 샘플웹 프록시 지원을 추가하기 위한 지침과 코드가 포함되어 있습니다.