Configurația mea normală a haproxy este:
implicite
jurnal global
modul http
opțiunea tcplog
opțiunea dontlognull
timeout connect 5000
timeout client 50000
server timeout 50000
##### MYSQL-CL #####
asculta MYSQL-CL
lega 10.17.1.65:3306
modul tcp
opțiunea mysql-check utilizator haproxy_check
echilibru roundrobin
server MYSQL-01 10.17.1.66:3306 verifica
server MYSQL-02 10.17.1.67:3306 verificați backup
server timeout 20000
timeout client 150000
timeout connect 40000
Și această configurație funcționează corect! Complet nici o problemă.
Dar vreau să fac configurația corectă folosind Frontend și Backend, așa că creez o configurație ca aceasta:
implicite
jurnal global
modul http
opțiunea tcplog
opțiunea dontlognull
timeout connect 5000
timeout client 50000
server timeout 50000
frontend MYSQL-CL
lega 10.17.1.65:3306
modul tcp
timeout client 150000
maxconn 1000
default_backend MYSQL-CL
backend MYSQL-CL
fullconn 1000
echilibru roundrobin
opțiunea mysql-check utilizator haproxy_check
server MYSQL-01 10.17.1.66:3306 verifica între 4000 toamna 3 maxconn 1000
server MYSQL-02 10.17.1.67:3306 verifica backup inter 4000 toamna 3 maxconn 1000
server timeout 20000
timeout connect 40000
Dar când folosesc această configurație, primesc:
2021-10-18 7:10:11 17039399 [Avertisment] Conexiune întreruptă 17039399 la db: utilizator „wordpress”: gazdă „wordpress”: „haproxy01” (A apărut o eroare la citirea pachetelor de comunicare)
Știe cineva ce este în neregulă? timeout-urile arată OK, aceasta nu este o problemă cu MariaDB, deoarece lucrez la configurația veche, așa că este ceva greșit cu configurația haproxy, dar nu am idee ce este în neregulă...
Am citit multe comentarii, dar ppl spun despre timeout-uri sau problema DB... dar se pare că acesta este altceva.