Я хотел бы спросить, как HAProxy может помочь в маршрутизации запросов в зависимости от частей URL-адреса.
Чтобы дать вам обзор моей установки, у меня есть машина HAProxy и два бэкэнда:
Пример использования:
Я ожидаю маршрутизировать запросы в зависимости от URL-адреса:
URL-адрес доступа к блогу: « / server / blog / lang / articlexx », поэтому мне нужно переписать исходный клиентский запрос в этот формат, который в основном переключает «блог» и «язык».
Насколько я понял документацию по конфигурации и некоторые сообщения в сети, я мог бы использовать reqrep / reqirep для изменения HTTP-заголовков запроса, прежде чем он будет передан на бэкэнд. И если это верно, то эта конфигурация должна работать:
frontend vFrontLiner
bind x.x.x.x:x
mode http
option httpclose
default_backend iis_website
# the switch: x/lang/blog -? x/blog/lang
reqirep ^/(.*)/(blog)/(.*) /if\2/\1/\3
acl blog path_beg -i /lang/blog/
use_backend blog_website if blog
backend blog_website
mode http
option httpclose
cookie xxblogxx insert indirect nocache
server BLOG1 x.x.x.x:80 cookie s1 check inter 5s rise 2 fall 3
server BLOG2 x.x.x.x:80 cookie s2 check inter 5s rise 2 fall 3 backup
Проблема: Запросы, получаемые серверной частью blog_website, по-прежнему являются исходным URL-адресом «x / lang / blog».
Возможно, я что-то пропустил в части регулярного выражения, но меня больше всего беспокоит, правильно ли я понимаю, что нужно вообще использовать reqirep. Буду признателен за любую помощь.
Большое спасибо.