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