Puncte:0

haproxy nu funcționează la actualizarea la versiunea 2.2 (reqadd nu mai există)

drapel th

[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...

Puncte:0
drapel pe

Cred că poți folosi doar:

http-request set-header X-Forwarded-Proto https

După cum s-a discutat aici:

https://stackoverflow.com/questions/51928504/x-forwarded-proto-https-in-frontend-or-backend-haproxy

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.