HAProxy и Конфигурация перезаписи URL

Я хотел бы спросить, как HAProxy может помочь в маршрутизации запросов в зависимости от частей URL-адреса.

Чтобы дать вам обзор моей установки, у меня есть машина HAProxy и два бэкэнда:

  • Веб-сайт IIS (основной сайт)
  • Блог Wordpress на NGINX (дочерний сайт)

Пример использования:

Я ожидаю маршрутизировать запросы в зависимости от URL-адреса:

  • www.website.com/lang/index.aspx -> основной сайт
  • www.website.com/lang/blog/articlexx -> дочерний сайт блога

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. Буду признателен за любую помощь.

Большое спасибо.

12
задан Ianthe the Duke of Nukem 20 November 2011 в 15:34
поделиться