Puncte:0

Cum să ștergeți sesiunile HAProxy „lipioase”?

drapel tr

Asa de, iniţial Ale mele haproxy.cfg arată astfel (fragment):

frontend https_in
    modul http
    opțiunea httplog
    opțiune forwardfor
    bind 192.168.150.2:443 ssl crt /etc/haproxy/ssl_cert/star_some_domain.pem crt /etc/haproxy/ssl_cert/star_sub_some_domain.pem
    acl host_git hdr(gazdă) -i git.some.domain
    acl host_kibana hdr(gazdă) -i kibana.sub.some.domain

    use_backend gitserver dacă host_git
    use_backend kibanaserver dacă host_kibana

    default_backend webserver1

Backend-ul pentru server web1 devine supraîncărcat, așa că am mutat unele domenii pe un nou server și cel mai nou haproxy.cfg arată astfel (fragment):

frontend https_in
    modul http
    opțiunea httplog
    opțiune forwardfor
    bind 192.168.150.2:443 ssl crt /etc/haproxy/ssl_cert/star_some_domain.pem crt /etc/haproxy/ssl_cert/star_sub_some_domain.pem
    acl host_git hdr(gazdă) -i git.some.domain
    acl host_kibana hdr(gazdă) -i kibana.sub.some.domain
    acl is_website hdr(gazdă) -i sub.some.domain
    acl is_website hdr(gazdă) -i www.sub.some.domain
    
    use_backend gitserver dacă host_git
    use_backend kibanaserver dacă host_kibana
    use_backend websrv if is_website

    default_backend webserver1

# „websrv” și „webserver1” sunt backend-uri diferite

Cel mai nedumerit lucru este că unele browsere par să insiste / să fie redirecționate către backend-ul „webserver1” în loc de backend-ul „websrv”; deschiderea browserului privat / Incognito este redirecționat corect către „websrv”.

Așa că bănuiesc că are loc un fel de „sesiune lipicioasă”.

Cum enumerez și/sau șterg aceste „sesiuni sticky”?

drapel jp
Browserele memorează redirecționările în cache-urile proprii.
pepoluan avatar
drapel tr
@AlexD Am încercat să șterg memoria cache a browserului de mai multe ori, șterg cookie-urile legate de domenii până nu a mai rămas niciunul și încă mă „lip” de vechiul server „webserver1”. În cele din urmă am apelat la ștergerea TOATE cookie-urile și abia apoi sunt direcționat către „websrv”. Foarte ciudat. Ce interacțiune cookie/cache face asta?
drapel jp
Ștergerea redirecționării în cache poate fi dificilă, consultați https://superuser.com/questions/1166181/how-to-clear-cached-redirects-in-chrome
pepoluan avatar
drapel tr
@AlexD, din păcate, asta nu pare să fie aplicabil în cazul meu... acea întrebare pare să fie despre browserul care memorează în cache rezoluția numelui de domeniu. În cazul meu, rezoluția numelui de domeniu nu se modifică (încă indică către același server HAProxy accesibil public). S-ar putea să greșesc, totuși. Permiteți-mi să fac câteva dintre acțiunile sugerate.
drapel jp
Nu, întrebarea pe care am legat-o este despre stocarea în cache a redirecționărilor. Schimbarea DNS are aceeași relație ca și schimbarea backend-urilor dvs.
Puncte:0
drapel pe

Nu arătați configurația tabelului stick sau configurația liniei serverului. Este mai probabil să fie un cookie pe serverul tău real?

Pentru a afișa un tabel, utilizați:

echo "arata tabelul Abuz" | socat unix-connect:/var/run/haproxy.stat stdio

Pentru a șterge o intrare utilizați:

echo „șterge tabelul cheie abuz 127.0.0.1” | socat unix-connect:/var/run/haproxy.stat stdio
pepoluan avatar
drapel tr
Inițial nici măcar nu aveam nicio masă cu băţ. Așa că am adăugat niște tabele stick în backend-urile „webserver1” și „websrv”, și chiar și atunci când oamenii încă au probleme sticky, acestea rămân goale.
drapel pe
Vă rugăm să postați configurația backend-ului, atunci ar putea avea mai mult sens.

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.