Apache ProxyRemote 자격 증명과 proxy-chain-auth 비교
고정 상위 프록시 계정과 클라이언트 프록시 자격 증명의 의도적 전달 중에서 선택합니다.
클라이언트는 한 계정으로 Apache 전방 프록시에 인증하고, Apache는 다른 계정으로 상위 프록시에 인증할 수 있습니다:
client ── client account ── Apache ── parent account ── parent proxy
httpd 2.4.59 이상에서 고정 상위 계정을 쓰려면 ProxyRemote가 세 번째 인수를 받습니다:
ProxyRemote "*" "http://parent.example:3128" "parent-user:replace_with_private_password"
이것은 기존 접근 제어형 전방 프록시 구성을 보완합니다. 예를 들어 클라이언트 IP와 프록시 로그인을 모두 요구하는 비공개 리스너가 그러합니다. 계정은 선택된 상위 프록시에 속합니다. 계정이 들어 있는 구성을 보호하고, 배포에 필요한 일치 범위를 선택하십시오.
Apache는 이러한 Basic 자격 증명을 먼저 보내며 챌린지를 기다리지 않습니다. 그래서 상위 프록시 연결의 전송 방식과 계정 정책이 중요합니다. 사이트의 이후 HTTPS 세션 자체가 상위 프록시로 가는 평문 HTTP 홉을 보호하지는 않습니다.
같은 수신 계정을 계속 전달해야 하는 경우
보통 Apache는 자신에게 향한 프록시 인증을 소비합니다. 대신 proxy-chain-auth 환경 설정은 클라이언트의 프록시 자격 증명을 다음 프록시로 전달하도록 허용합니다:
SetEnv proxy-chain-auth On
이것은 의도적으로 공유하는 인증 체인에만 적합합니다. 수신 계정 정보를 그대로 넘길 뿐, 다른 상위 사용자 이름과 비밀번호를 만들어 내지는 않습니다.
ProxyRemote의 명시적 자격 증명 인수를 쓰면 proxy-chain-auth는 아무 효과가 없습니다. 어느 비밀번호가 통할지 기대하며 두 설정을 겹치지 말고 자격 증명의 출처를 의도적으로 선택하십시오.
이 메커니즘은 프록시 홉을 인증합니다. 대상 사이트의 Authorization 헤더는 별개의 교환으로 남습니다.