11.15. 브라우저 쿠키가 없는 경우 특정 풀에 브라우저 쿠키가 없는 요청 전송
RHOSP(Red Hat OpenStack Platform) 로드 밸런싱 서비스(octavia)를 사용하여 인증되지 않은 웹 클라이언트 요청을 하나 이상의 인증 서버가 포함된 다른 풀로 리디렉션할 수 있습니다. 계층 7(L7) 정책은 들어오는 요청이 인증 쿠키가 누락되었는지 여부를 결정합니다.
이 예에서 브라우저 쿠키가 없는 모든 웹 클라이언트 요청 auth_token 은 인증 서버가 포함된 대체 풀로 리디렉션됩니다.
다음 절차에서는 브라우저 쿠키를 사용하여 L7 애플리케이션 라우팅을 수행하는 방법에 대한 예를 제공하며 보안 문제를 다루지 않습니다.
사전 요구 사항
-
리스너(리스너1)
및풀( pool1)이 있는TLS 종료 HTTPS 로드 밸런서(lb1).자세한 내용은 TLS 종료 HTTPS 로드 밸런서 생성 을 참조하십시오. - 보안 인증 서버에서 웹 사용자를 인증하는 두 번째 RHOSP 네트워킹 서비스(neutron) 서브넷입니다.
절차
자격 증명 파일을 가져옵니다.
예제
$ source ~/overcloudrc로드 밸런서(
lb1)에 두 번째 풀(login_pool)을 만듭니다.참고괄호 안의 값은 이 절차의 예제 명령에 사용되는 샘플 값입니다. 이러한 샘플 값을 사이트에 적합한 값으로 바꿉니다.
예제
$ openstack loadbalancer pool create --lb-algorithm ROUND_ROBIN --loadbalancer lb1 --name login_pool --protocol HTTP인증 서브넷(
secure_subnet)에 멤버, 보안 인증 서버(192.0.2.10)를 두 번째 풀에 추가합니다.예제
$ openstack loadbalancer member create --address 192.0.2.10 --protocol-port 80 --subnet-id secure_subnet login_pool리스너(리스너1)
에 L7 정책( policy1)을 만듭니다.정책에는 작업(REIRECT_TO_POOL)이 포함되어야 하며 두 번째 풀(login_pool)을 가리켜야 합니다.예제
$ openstack loadbalancer l7policy create --action REDIRECT_TO_POOL --redirect-pool login_pool --name policy1 listener1브라우저 쿠키(
auth_token)를 임의의 값으로 검색하는 정책( policy1)에 L7 규칙을 추가하고, 쿠키가 없는 경우 일치시킵니다.예제
$ openstack loadbalancer l7rule create --compare-type REGEX --key auth_token --type COOKIE --value '.*' --invert policy1
검증
-
openstack loadbalancer l7policy list명령을 실행하고 정책,policy1이 있는지 확인합니다. openstack loadbalancer l7rule list <l7policy>명령을 실행하고REGEX의 비교유형과 규칙이 있는지 확인합니다.예제
$ openstack loadbalancer l7rule list policy1