Temos um cluster galera, mariadb versão 10.3 e haproxy.
Queremos que os usuários se conectem assim cliente->haproxy->galera_cluster. O usuário que criamos no banco de dados permitimos o IP para o cliente. Para http, descobrimos que você pode usar o IP send-proxy ou X-Origin no cabeçalho.
Queremos, para o mesmo com o cluster galera, o protocolo TCP.
Adicionamos isso no arquivo de configuração do mariadb: "proxy_protocol_networks = haproxy_server/32"
Usamos o Ubuntu 16.04 e o haproxy 1.6.
arquivo de configuração haproxy
backend galera
bind 0.0.0.0:3306
balance leastconn
mode tcp
option tcpka
option forwardfor
option log-health-checks
retries 3
timeout queue 1m
timeout connect 15s
timeout client 50m
timeout server 50m
timeout check 10s
option mysql-check user haproxy
server node1 IP_Cluster_1:3306 check send-proxy
Alguma idéia de como podemos fazer isso.
Obrigado :)
O MariaDB suporta o Proxy Protocol a partir de 10.3, então
send-proxy
deve funcionar.Mas primeiro, você precisa configurar
proxy-protocol-networks
com a sub-rede do proxy (não dos clientes).https://mariadb.com/kb/en/library/proxy-protocol-support/
O problema estava no arquivo de configuração do haproxy. Este é o arquivo de configuração correto do haproxy.
Muito obrigado :)