[Am postat în mod eronat această întrebare pe stackoverflow]
Pe serverul meu Debian Buster aveam un haproxy care funcționează perfect (v1.8), pe care îl folosesc pentru gestionarea certificatelor pentru site-urile mele web.
haproxy ascultă portul 443 și transmite cereri către un sistem varnish+apache.
Când faceți upgrade la debian bullseye, serviciul haproxy (v2.2) nu mai pornește, iar jurnalul spune:
haproxy[46308]: [ALERT] 048/004148 (46308): parsing [/etc/haproxy/haproxy.cfg:46] : Directiva „reqadd” nu mai este acceptată de la HAProxy 2.1. Folosiți „http-r
equest add-header' în schimb.
Liniile haproxy.cfg responsabile pentru acest comportament sunt
frontend https
# Legați 443 cu certificatul de letsencrypt generat.
bind *:443 ssl crt /etc/letsencrypt/live/qumran2/haproxy.pem
# setați x-forward la https
reqadd X-Forwarded-Proto:\ https <-----------|
# setați X-SSL în cazul ssl_fc <- explicat mai jos
http-request set-header X-SSL %[ssl_fc]
# Selectați o provocare
acl letsencrypt-acl path_beg /.well-known/acme-challenge/
# Utilizați backend-ul provocării dacă provocarea este setată
default_backend www-backend
Înțeleg că trebuie să schimb reqadd X-Forwarded-Proto:\ https
linie, dar cum?
The docs Spune:
http-request add-header <nume> <fmt> [ { dacă | cu excepția cazului în care } <condiție> ]
Aceasta adaugă un câmp de antet HTTP al cărui nume este specificat în <nume> și
a cărui valoare este definită de <fmt> care urmează regulile de format de jurnal (vezi
Format jurnal personalizat în secțiunea 8.2.4). Acest lucru este deosebit de util pentru a trece
informații specifice conexiunii la server (de exemplu, SSL-ul clientului
certificat), sau pentru a combina mai multe anteturi într-unul singur. Această regulă nu este
final, deci este posibil să adăugați și alte reguli similare. Rețineți că antetul
adăugarea este efectuată imediat, astfel încât o regulă ar putea reutiliza rezultatul
antet dintr-o regulă anterioară.
Nu pot înțelege cum ar trebui să scriu echivalentul http-request add-header
...