
LDAP 서버에 대해 헤더를 확인하고 Authorization: Basic ...
자격 증명이 존재하고 올바른 경우 사용자 정의 헤더를 설정하지만 인증이 누락되거나 완전히 잘못된 경우에도 다운스트림 서버에 요청을 전달하려면 프록시 패스로 구성된 Apache가 필요합니다.
다음 구성을 시도했습니다.
<Location ~ /my/path/(.*)/my/resource(/.+)?>
AuthType Basic
AuthName "Login with user id"
AuthBasicProvider ldap
AuthUserFile /dev/null
AuthLDAPURL "my LDAP url"
AuthLDAPBindDN "my bind variables"
AuthLDAPBindPassword ******
RequestHeader set X-Authenticated-User %{AUTHENTICATE_uid}e
SetEnv 1 noauth
<RequireAny>
Require valid-user
Require env noauth
</RequireAny>
ProxyPreserveHost On
ProxyPass http://downstream.server/my/other/path/$1/$2
ProxyPassReverse http://downstream.server/my/other/path/$1/$2
</Location>
그러나 이 방법은 X-Authenticated-User
항상 (null)
유효한 자격 증명을 사용하여 균일하게 이루어집니다. 아마도 Apache가 최적화하고 검사를 전혀 수행하지 않기 때문일 것입니다.
(null)
비밀번호가 일치하지 않거나 전혀 존재하지 않는 경우 관리할 수 있습니다 .
내 요구 사항은 요청이언제나X-Authenticated-User
비밀번호가 일치하는 경우에만 지정된 사용자 이름으로 설정된 상태 로 다운스트림 서버로 전송됩니다 .
구성을 편집했습니다. 행에 주석을 달면 Require env noauth
기본 인증이 제대로 작동합니다.