LINUX.ORG.RU
ФорумAdmin

Как пробросить (проксировать) запрос с клиента в консоль сервера приложений WLS с помощью haproxy?

 


0

1

Здравствуйте! Всех с прошедшими праздниками!

Исходные данные:

  • балансировщик haproxy (1.1.1.1)

  • сервер приложений WLS1 (2.2.2.2, консоль управления http://2.2.2.2:7001/console)

  • сервер приложений WLS2 (3.3.3.3, консоль управления http://3.3.3.3:7001/console)

  • произвольная клиентская машина, которая не имеет доступ к WLS1 и WLS2

Необходимо пробросить (проксировать) запросы с клиентской машины на консоли управления WLS1 и WLS2.

Примерный вид запросов в браузере с клиентской машины:

Что было испробовано:

1. Вариант (как в условии):

frontend http_prx bind *:80
mode http
acl cons1 path_beg /cons1
use_backend cons_1 if cons1
acl cons2 path_beg /cons2
use_backend cons_2 if cons2
default_backend http_other

backend cons_1
(варианты преобразования заголовка запроса)
server cons1 2.2.2.2:7001 check

backend cons_2
(варианты преобразования заголовка запроса)
server cons2 3.3.3.3:7001 check

Варианты преобразования заголовка запроса (способ rewrite):

http-request replace-value Host (попытка изменить адрес хоста запроса)
http-request replace-value Path (попытка изменить URN c /cons1 на /console) и т.п.

2. Вариант (использование прослушивания портов 7002/7003, запрос вида http://1.1.1.1:порт/console):

frontend cons1
mode http
bind *:7002
acl cons path_beg /console
use_backend cons_1 if cons
default_backend http_other

frontend cons2
mode http
bind *:7003
acl cons path_beg /console
use_backend cons_2 if cons
default_backend http_other

backend cons1
server cons1 2.2.2.2:7001 check

backend cons2
server cons1 3.3.3.3:7001 check

В итоге, результат - либо в запросе менялся только адрес хоста, либо URN, что в результате возвращает ошибку. Редирект - не вариант (хотя, может быть и вариант), т.к. у клиентской машины нет доступа к WLS1/WLS2. Буду благодарен за любую информацию, в каком направлении искать решение.

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.