2013-03-01 2 views
0

쿠키 상태에 따라 Haproxy를 어떻게 쿠키 기반로드 밸 러서로 구성 할 수 있습니까? 즉 쿠키가 없으면 server1로 리디렉션합니다. & 쿠키가있는 경우 server2?ACL이있는 Haproxy로드 밸런서

내가 ACL을 얻지 만 헤더 용으로 쿠키 존재 여부를 구성 할 수 있습니까?

미리 감사드립니다.

답변

0

다음은 쿠키 "fslanguage"의 값을 검사하고 언어를 기반으로 요청에 Accept-Language 헤더를 설정하는 방법입니다. reqrep 규칙 대신 백엔드 규칙 (use_backend 참조)을 쉽게 수행 할 수 있습니다.

acl langCookie_en cook(fslanguage) en 
     reqrep Accept-Language:\ (.*) Accept-Language:\ en,\1 if langCookie_en 
    acl langCookie_fr cook(fslanguage) fr 
     reqrep Accept-Language:\ (.*) Accept-Language:\ fr,\1 if langCookie_fr 
    acl langCookie_de cook(fslanguage) de 
     reqrep Accept-Language:\ (.*) Accept-Language:\ de,\1 if langCookie_de 
    acl langCookie_es cook(fslanguage) es 
     reqrep Accept-Language:\ (.*) Accept-Language:\ es,\1 if langCookie_es 
    acl langCookie_pt cook(fslanguage) pt 
     reqrep Accept-Language:\ (.*) Accept-Language:\ pt,\1 if langCookie_pt 
    acl langCookie_it cook(fslanguage) it 
     reqrep Accept-Language:\ (.*) Accept-Language:\ it,\1 if langCookie_it 
    acl langCookie_ru cook(fslanguage) ru 
     reqrep Accept-Language:\ (.*) Accept-Language:\ ru,\1 if langCookie_ru 
    acl langCookie_ja cook(fslanguage) ja 
     reqrep Accept-Language:\ (.*) Accept-Language:\ ja,\1 if langCookie_ja 
    acl langCookie_ko cook(fslanguage) ko 
     reqrep Accept-Language:\ (.*) Accept-Language:\ ko,\1 if langCookie_ko 
    acl langCookie_zh cook(fslanguage) zh 
     reqrep Accept-Language:\ (.*) Accept-Language:\ zh,\1 if langCookie_zh