HTTPQUERY
한국어

Proxy-Authenticate

사용법

클라이언트가 자격 증명을 요구하는 프록시 서버를 통해 요청을 보내면, 프록시는 407 상태 코드로 응답하며 Proxy-Authenticate 헤더를 포함시킵니다. 이 헤더는 어떤 인증 스킴을 사용해야 하는지 클라이언트에 알리고 자격 증명을 구성하는 데 필요한 매개변수를 제공합니다.

챌린지를 받은 클라이언트는 적절한 자격 증명을 담은 Proxy-Authorization 헤더와 함께 요청을 다시 보냅니다. 프록시는 자격 증명을 검증하고, 성공하면 요청을 목적지 서버로 전달합니다.

Proxy-Authenticate 헤더는 프록시 수준에서 동작합니다. 오리진 서버 인증에 해당하는 헤더는 WWW-Authenticate이며, 이는 407이 아닌 401 응답을 유발합니다.

단일 응답에 여러 개의 Proxy-Authenticate 헤더가 있으면 프록시가 두 가지 이상의 스킴을 받아들인다는 뜻입니다. 클라이언트는 양측이 모두 지원하는 가장 강력한 스킴을 선택합니다.

scheme

scheme 값은 인증 방식을 식별합니다. 흔한 값으로는 Basic, Digest, Bearer, Negotiate가 있습니다. 등록된 스킴의 전체 목록은 IANA가 관리합니다.

realm

realm 매개변수는 보호 영역을 설명하는 선택적 문자열입니다. 클라이언트는 보통 자격 증명 입력 창에 realm 값을 표시합니다. 생략된 경우 클라이언트는 기본적으로 프록시 호스트명을 표시합니다.

스킴별 매개변수

각 인증 스킴은 추가 매개변수를 정의합니다. Digest 스킴에는 nonce, qop, algorithm, opaque가 포함됩니다. Bearer 스킴에는 scope와 error가 포함됩니다. 이 매개변수들은 헤더 값에서 스킴 이름 뒤에 나타납니다.

예시

Basic 인증을 요구하는 프록시가 설명이 담긴 realm과 함께 챌린지를 반환합니다. realm 값은 어떤 자격 증명이 필요한지 사용자에게 알려 줍니다.

Proxy-Authenticate: Basic realm="Corporate Proxy"

Digest 스킴을 지원하는 프록시는 재전송 공격을 막기 위해 서버가 생성한 nonce를 포함시킵니다.

Proxy-Authenticate: Digest realm="proxy@example.re", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", qop="auth"

여러 인증 스킴을 제공하는 프록시는 각 스킴을 별도의 줄에 나열합니다. 클라이언트는 지원하는 것 중 가장 강력한 선택지를 고릅니다.

Proxy-Authenticate: Negotiate
Proxy-Authenticate: Basic realm="Internal Network"