Pe instanțele HAProxy care rulează pe K8S, trebuie să blochez manual anumite adrese IP pe HAProxy. În prezent, nu reușesc să le înregistrez. Conform documentelor AWS, balansoarele de încărcare setează X-Redirecţionat-Pentru antetul cererii și completați adresa IP a clienților.
Când încerc să înregistrez acest antet (și, prin urmare, IP-ul clienților), primesc întotdeauna șiruri goale cu HAProxy versiunea 2.0.18 și 2.2.20. Deci, cred că am configurat greșit HAProxy. Configurația mea arată așa:
global
demon
maxconn 256
log stdout format raw local0
implicite
modul http
opțiunea httplog
opțiunea dontlognull
timeout conectare 15000ms
timeout client 150000ms
server timeout 150000ms
lista de utilizatori global_auth
user someuser parola nesigură somepass
frontend http-in
lega *:80
bind *:443 ssl crt /etc/certs/myapp-de.pem/cert_bundle_key.pem alpn h2, http/1.1
opțiunea httplog
opțiunea dontlognull
antetul cererii de capturare X-Forwarded-For len 500
antetul cererii de captare x-forwarded-for len 500
jurnal-format „Anteturi = --%hr--, --%hrl-- | Anteturi2: --%[capture.req.hdr(0)]--, --%[capture.req.hdr(1) ]--"
jurnal global
acl host_ssl_exception hdr(gazdă) -i jobs.myapp.com
schema de redirecționare codul https 301 dacă !{ ssl_fc } !host_ssl_exception
acl is_post method POST|OPȚIUNI
acl is_get metoda GET
default_backend myapp-web
backend myapp-web
modul http
compresie algo gzip
tip de compresie text/html text/plain text/css application/javascript application/json
server web1 myapp-web.myapp-${TRACK}.svc.cluster.local:80 maxconn 32 verificare cookie
Toate, cu excepția unuia, au fost eliminate. HTTPS și HTTP2 activate. The captură pare să eșueze, dar în prezent nu înțeleg de ce.