У меня установлен haproxy 1.4, и мне нужно настроить обратный прокси-сервер в haproxy.conf, который перезаписывает URL-адрес с www.somedomain.com
на www.otherdomain.com/bla/ble
. конфигурация, которую я пишу, находится здесь:
acl cpol_acl hdr_dom(host) -i www.somedomain.com
use_backend cpol_srv if cpol_acl
backend cpol_srv
balance leastconn
mode http
option httplog
stick on src
stick-table type ip size 10240k expire 60m
reqirep ^([^\ :]*)\ /(.*) \1\ /bla/ble\2
reqirep ^Host:\ www.somedomain.com Host:\ www.otherdomain.com
server cpol_srv www.otherdomain.com check port 80
Это работает, но URL-адрес в браузере перезаписывается на www.otherdomain.com/bla/ble
, а это не то, что я хочу. Если я уберу линию
reqirep ^([^\ :]*)\ /(.*) \1\ /bla/ble\2
Я могу перенаправить только на хост www.otherdomain.com
, но URL-адрес в браузере остается с www.somedomain.com
.
Есть ли способ сделать этот тип обратного прокси без перезаписи URL-адреса браузера?
PS: Я бы использовал этот стиль Apache (который работает), но машина не имеет NAT для внешнего мира и может общаться только с haproxy.