在HAProxy中基于每台服务器设置自定义标头

时间:2017-03-07 20:15:38

标签: haproxy

我需要使用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)。

1 个答案:

答案 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