【发布时间】:2020-03-19 11:31:52
【问题描述】:
我有几个可以通过以下 URL 直接访问的网络服务器:
https://abcd.example.com:8445/desktop/container/landing.jsp?locale=en_US https://wxyz.example.com:8445/desktop/container/landing.jsp?locale=en_US
我需要使用 HAProxy 在两者之间进行负载平衡,并在访问前端时使用以下 URL:
http://1234.example.com/desktop/container/landing.jsp?locale=en_US 或者 https://1234.example.com:8445/desktop/container/landing.jsp?locale=en_US
所以除了以上两个之外的其他要求:
- 如果初始流量是端口 80,则转换为端口 8445
- 屏蔽 URL,以便在浏览器上重定向到 https 和端口到 8445 时,主机保持不变,如下所示:https://1234.example.com:8445/desktop/container/landing.jsp?locale=en_US
这是我目前的配置:
frontend WebApp_frontend
mode http
bind 10.4.34.11:80
acl is80 dst_port 80
http-request set-uri https://%[req.hdr(Host)]:8445%[path]?%[query] if is80
default_backend WebApp-backend
backend WebApp_backend
description WebApp
balance roundrobin
mode http
server webserver1 10.2.89.222:8445 check inter 5s fall 3 rise 5 downinter 1m ssl verify none
server webserver2 10.4.89.223:8445 check inter 5s fall 3 rise 5 downinter 1m ssl verify none
我现在面临的问题是,当您访问前端时,HAProxy 会将您重定向到任何网络服务器,并强制您的客户端直接访问网络服务器,而不是通过 HAProxy。我需要通过 HAProxy 保持连接。
【问题讨论】:
标签: haproxy