아파치 2.4에서 nginx까지의 쿠키를 사용하여 프록시를 통해 http 헤더를 전달하려고합니다.http 헤더를 쿠키로 푸시
Apache는 Active Directory에 대해 kerberos 인증을 수행 할 때만 사용할 수 있습니다. AD 인증이 모든 get 요청에 추가하는 오버 헤드 때문에 인증을 제한하려고합니다. 아이디어는 x 시간 후에 만료되는 쿠키를 설정하고 쿠키가 존재하지 않는 경우에만 apache를 통해 인증을 수행하는 것입니다. 또한 remote_user를 nginx에서 사용할 수 있도록 apache에서 원합니다.
는 Nginx에 포트 80에서 수신 대기, 나는 아파치에서 HTTP 헤더를 설정할 수,하지만 이들의 nginx 땅에서 길을 잃지 포트 81 (동일한 호스트)
에 아파치하는 인증 하위 요청을한다.
내가 먼저 nginx에서 관심있는 특정 http 헤더를 읽으려고했으나 일단 요청이 nginx로 전송되면 볼 수는 없지만 아파치 측면에서 볼 수는있다.
두 번째 아이디어는 내가 관심있는 헤더를 서버 쿠키에 푸시 한 다음 nginx 쪽에서 추출하지만 쿠키 값은 항상 비어 있습니다.
RewriteRule .* - [E=PROXY_USER:%{LA-U:REMOTE_USER}]
Header add X-Auth-User %{PROXY_USER}e
내가 아파치 측면에 해당 헤더의 벌금을 볼 수 있지만, nginx를 측 아무것도 : 아파치의 conf에서
나는 있습니다. 아파치에 쿠키로 데이터 펌프하려고:
RewriteCond %{LA-U:REMOTE_USER} (.*)
RewriteRule ^/ - [env=COOKIE1:%1]
RewriteRule .* - [CO=acaprox:tst=%{COOKIE1}e:.my-domain.com:300:/] [R=307,L]
이 방법의 문제는 시험의 값은 항상 비어 있다는 것입니다.
나는 또한 내가 성공적으로 쿠키에, 헤더에 밀어 수있는 환경 변수를 재사용했지만, 또한 항상 비어 : 아마 노골적으로 알 수있는 바와 같이RewriteRule .* - [CO=cookietest:tst=%{ENV:PROXY_USER}:.my-domain.com:300:/] [R=307,L]
, 내가 많이하지 않아도 이 공간에서의 경험.