справжнє швидке запитання щодо HAProxy reqrep. Я намагаюся переписати / замінити запит, який надсилається до бекенда.
У мене є наступний приклад домену та URI, обидва мають одне і те ж ім’я домену, але різні пули сервера веб-сервера.
http://domain/web1
http://domain/web2
Я хочу, щоб web1 перейшов до бекенда webfarm1, а web2 - до webfarm2. В даний час це відбувається. Однак я хочу позбавити URI web1 або web2, коли запит буде надіслано в бекенд.
Ось мій haproxy.cfg
frontend webVIP_80
mode http
bind :80
#acl routing to backend
acl web1_path path_beg /web1
acl web2_path path_beg /web2
#which backend
use_backend webfarm1 if web1_path
use_backend webfarm2 if web2_path
default_backend webfarm1
backend webfarm1
mode http
reqrep ^([^\ ]*)\ /web1/(.*) \1\ /\2
balance roundrobin
option httpchk HEAD /index HTTP/1.1\r\nHost:\ example.com
server webtest1 10.0.0.10:80 weight 5 check slowstart 5000ms
server webtest2 10.0.0.20:80 weight 5 check slowstart 5000ms
backend webfarm2
mode http
reqrep ^([^\ ]*)\ /web2/(.*) \1\ /\2
balance roundrobin
option httpchk HEAD /index HTTP/1.1\r\nHost:\ example.com
server webtest1-farm2 10.0.0.110:80 weight 5 check slowstart 5000ms
server webtest2-farm2 10.0.0.120:80 weight 5 check slowstart 5000ms
Якщо я переходжу http://domain/web1
або http://domain/web2
бачу це в журналах помилок, що запит на сервері в кожному бекенді, що запит призначений для ресурсу / web1 або / web2 відповідно. Тому я вважаю, що в моєму регулярному висловленні щось не так, навіть якщо я скопіював і вставив це з Документації. http://code.google.com/p/haproxy-docs/wiki/reqrep
Резюме: Я намагаюся маршрутизувати трафік на основі URI, однак я хочу, щоб HAProxy знімав URI, коли він надсилає запит до резервного пулу.
Дякую!
-Джим