2013-03-01 94 views
0

根据Cookie状态,我们如何将Haproxy配置为基于Cookie的Load-Balacer?即如果cookie不存在,则如果存在cookie,则重定向到服务器1 &然后server2?具有ACL的Hyproxy负载均衡器

我搜索这个,然后我得到的ACL,但它是头,我们可以配置它的cookie存在?

在此先感谢。

回答

0

以下是我如何检查cookie“fslanguage”的值,并根据语言在请求中设置Accept-Language标头。您可以轻松地执行后端规则(请参阅use_backend)而不是reqrep规则。

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