Azure Storage Java: API 및 토큰 요청을 위한 프록시 경로
Java SDK 프록시를 구성할 때 Azure Storage 요청과 자격 증명 토큰 요청을 모두 확인하세요.
스토리지 클라이언트의 HTTP 전송에 프록시를 구성하는 일은 한 가지 질문에 답합니다. 그 전송이 스토리지 요청을 어떻게 보내는가 하는 질문입니다. ID 자격 증명은 토큰을 얻기 위해 다른 HTTP 클라이언트를 가질 수 있습니다.
이 차이는 흔해 보이는 모순을 설명합니다. 스토리지 엔드포인트에는 프록시를 통해 도달할 수 있지만 SDK는 기대한 작업을 보내기 전에 실패합니다. 그 실패는 ID 엔드포인트에 대한 자격 증명 획득에 속할 수 있습니다.
먼저 어느 목적지가 실패했는지 기록합니다. 그다음 스토리지 빌더에 전달한 HTTP 클라이언트와 자격 증명 구현이 사용하는 구성을 살펴봅니다. 각 전송의 지원되는 프록시 옵션을 따릅니다. 허용된 공용 프록시 경로에서 공개적으로 도달 가능한 스토리지 및 토큰 엔드포인트에는 HTTP 프록시 목록이 엔드포인트 후보를 제공합니다. 한 빌더의 설정이 애플리케이션의 모든 객체를 다시 구성한다고 가정하지 마세요.
| 단계 | 유용한 증거 |
|---|---|
| 토큰 획득 | ID 엔드포인트, 선택된 클라이언트, 프록시 챌린지 또는 연결 오류 |
| 스토리지 요청 | 스토리지 엔드포인트, 구성된 파이프라인, 최종 응답 또는 전송 실패 |
프록시 계정은 Azure 자격 증명과 분리해 두세요. 프록시 로그인에 성공하면 경로가 주어지지만 대상 서비스는 여전히 Azure 작업을 승인합니다.
과거 답변은 이전 OperationContext 및 파이프라인 API를 포함한 여러 세대의 Azure Storage Java 클래스를 사용합니다. 예제를 애플리케이션이 현재 사용하는 SDK와 HTTP 전송에 맞추세요. Data Lake SDK의 경우 스토리지와 ID를 위한 공유 HTTP 클라이언트 설정이 빌더 입력 두 가지를 보여 줍니다. 프록시 문제를 해결하려고 폐기된 클라이언트 유형을 다시 도입하면 디버깅할 구성 경로가 하나 더 생깁니다.
로그에는 안전한 엔드포인트 식별자를 사용하세요. 스토리지 URL에는 액세스 토큰이, 전체 프록시 URL에는 비밀번호가 포함될 수 있습니다.