我需要使用HAProxy 1.7来平衡第三方服务。每个服务器都需要唯一的基本身份验证标头。我正在寻找类似于下面的方法,我可以在后端服务器之间“roundrobin”,但每个服务器需要一个不同的HTTP标头:
frontend http-in
bind *:80
use_backend servs
backend servs
reqidel '^Authorization:.*'
reqadd 'Authorization: Basic blahblahblah'
server url1 asdf.example.com:8080 check ssl verify none
reqidel '^Authorization:.*'
reqadd 'Authorization: Basic blah2blah2blah2'
server url2 asdf.example.com:8081 check ssl verify none
此方法仅使用第一个服务器(url1)。
答案 0 :(得分:0)
我实现了以下解决方案,以允许每个负载均衡的服务器的自定义标头。
frontend http-in
bind *:80
use_backend proxy
backend proxy
balance roundrobin
server url1-proxy 0.0.0.0:8080
server url2-proxy 0.0.0.0:8081
listen url1-proxy
bind *:8080
reqidel '^Authorization:.*'
reqadd 'Authorization: Basic blahblahblah'
server url1 asdf.example.com:8080 check ssl verify none
listen url2-proxy
bind *:8081
reqidel '^Authorization:.*'
reqadd 'Authorization: Basic blah2blah2blah2'
server url2 asdf.example.com:8081 check ssl verify none