Eu quero configurar o haproxy para equilibrar entre dois servidores de back-end. Eu tenho configuração simples
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
option httplog
option dontlognull
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend my_frontend
bind *:8000
default_backend my_backend
http-request capture req.hdr(user_id) len 64
backend my_backend
#simple proxy servers (squid)
server serv1 1.2.3.4:8001
server serv2 5.6.7.8:8001
stick-table type string size 20m expire 1m
stick on hdr(user_id)
balance hdr(user_id)
Então eu peço para haproxy com curl
curl --proxy my_haproxy_public_ip:8000 --header "user_id:test42" https://api.ipify.org?format=json
Esta configuração funciona bem em conexões http (posso ver o cabeçalho capturado em logs), mas os cabeçalhos não são visíveis em conexões https e é por isso que o balanceamento não é possível. Eu sou um novato em conexões e protocolos, e possivelmente faltando alguma coisa. É uma maneira de buscar quaisquer cabeçalhos de solicitações https para ativar o balanceamento com hdr(my_header)
?
Tags https reverse-proxy haproxy