@dimjkee90

Как перенаправить запрос в haproxy?

Добрый день!
Подскажите как реализовать след схему в haproxy, через Nginx это сделать получилось, но нужно через Haproxy в которой не очень силен

Запрос вида https://1.1.1.1/partner/transparent
Перенаправить на
https://2.2.2.2/my.FrontEnd.ServiceProvider2/partn...
параметры должны передаваться как есть, те например запрос

https://1.1.1.1/partner/transparent?partner_id=111...

должен выполнится

https://2.2.2.2/my.FrontEnd.ServiceProvider2/partn...

Обратил к документации Haproxy, попробовал варианты но что-то не получилось, получил зацикливание страницы
так же есть еще локейшен /status

frontend stats
bind *:9000
stats enable
stats uri /stats
stats refresh 10s
stats admin if LOCALHOST

frontend IN

bind *:443 ssl crt /etc/haproxy/ssl/cert.pem
mode http
option httplog
# redirect scheme https if !{ ssl_fc }

acl host_status path_beg /status
acl host_partner path_beg /partner/transparent

# http-request redirect code 301 prefix /status unless host_status
# http-request add-header X-Forwarded-For %[src] unless host_status
# http-request redirect code 301 prefix /partner/transparent unless host_partner

use_backend status if host_status
use_backend partner if host_partner

#===========================backend======================#

backend status
mode http
option forwardfor
http-request redirect location https://2.2.2.2/my.FrontEnd.ServiceProvider2/status

backend partner
mode http
option forwardfor
http-request redirect location https://2.2.2.2/my.FrontEnd.ServiceProvider2/partn...
  • Вопрос задан
  • 2036 просмотров
Решения вопроса 1
@dimjkee90 Автор вопроса
это сработало для меня

frontend IN

bind *:443 ssl crt /etc/haproxy/ssl/cert.pem
mode http
option httplog

acl host_status path_beg /status
http-request redirect code 301 location %[url,regsub(^/status,https://2.2.2.2/my.FrontEnd.ServiceProvider2/status,)] if { path_beg /status }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы