HAProxy - 添加响应 header 以指示选择的服务器

HAProxy - Add response header to indicate the server that was chosen

考虑以下 HAProxy 配置:

frontend front
        default_backend default

backend default
        balance roundrobin
        http-response set-header X-RGN us-east-1
        server app-1a app.us-east-1a.example.com:443 ssl verify none check
        server app-1c app.us-east-1c.example.com:443 ssl verify none check
        server app-1b app.us-east-1b.example.com:443 ssl verify none check

我想 return 回复 header 表示已选择的服务器。例如,如果前端收到一个请求,它会平衡循环并将请求转发给后端服务器,当它响应时,我想在我的浏览器中看到使用了哪个服务器。

配置可能如下所示:

frontend front
        default_backend default

backend default
        balance roundrobin
        http-response set-header X-RGN us-east-1
        server app-1a app.us-east-1a.example.com:443 ssl verify none check
        server app-1c app.us-east-1c.example.com:443 ssl verify none check
        server app-1b app.us-east-1b.example.com:443 ssl verify none check
        http-response set-header X-Server app-1a if server -i app-1a
        http-response set-header X-Server app-1b if server -i app-1b
        http-response set-header X-Server app-1c if server -i app-1c

有人试过这个吗?

假设 HAProxy 1.5 或更高版本:

http-response set-header X-Server %s