O MariaDB suporta o protocolo de proxy a partir de 10.3, portanto send-proxy
deve funcionar.
Mas primeiro, você precisa configurar proxy-protocol-networks
com a sub-rede do proxy (não dos clientes).
Temos um cluster galera, mariadb versão 10.3 e haproxy.
Queremos que os usuários se conectem como este cliente- > haproxy- > galera_cluster. O usuário que criamos no banco de dados, permitimos o IP para o cliente. Para o http, descobrimos que você pode usar o send-proxy ou o X-Origin IP no cabeçalho.
Queremos, da mesma forma com o cluster galera, o protocolo TCP.
Adicionamos isso no arquivo de configuração do mariadb: "proxy_protocol_networks = haproxy_server / 32"
Nós 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
Qualquer ideia de como podemos fazer isso.
Obrigado :)
O MariaDB suporta o protocolo de proxy a partir de 10.3, portanto send-proxy
deve funcionar.
Mas primeiro, você precisa configurar proxy-protocol-networks
com a sub-rede do proxy (não dos clientes).
O problema estava no arquivo de configuração haproxy. Este é o arquivo de configuração correto do haproxy.
frontend mysqld_listen
bind *:3306
mode tcp
log global
option dontlognull
option tcplog
use_backend galera
backend galera
balance leastconn
mode tcp
option tcpka
option tcplog
option log-health-checks
retries 3
option mysql-check user haproxy
server node1 IP_1:3306 check weight 1 send-proxy-v2
Muito obrigado:)