Seleccionar página

HAProxy es un balancenador de carga, puede servir tanto para HTTP, HTTPS como TCP. En este ocasión lo configuraremos para TCP.

En ubuntu lo primero que hacemos es agregar el repositorio de Vincent Bernat para HAProxy 1.5, ya que en los repositorios actualmente está la 1.4

apt-add-repository ppa:vbernat/haproxy-1.5
apt-get update
apt-get install haproxy

Ahora editamos el archivo /etc/haproxy/haproxy.cfg

En la parte default buscamos la línea

option  httplog

Y la eliminamos, ya que utilizaremos tcp, ahora debemos agregar para ver las estadísticas, un frontend y un backend como lo siguiente:

listen stats ip_publica_server:80
mode http
log global
maxconn 10
stats enable
stats refresh 30s
stats realm Haproxy\ Statistics
stats auth usuario:contrasena
stats uri /stats
# Con esto veremos la estadísticas en http://ip_server/stats
frontend tcp-tesigo
bind ip_publica:puerto
mode tcp
option tcplog
timeout client 5m
default_backend tcp-servidores
backend tcp-servidores
mode tcp
balance leastconn
timeout connect 30s
timeout server 5m
server serv01 ip_privada_server_1:puerto check

En este caso ocupamos leastconn ya que es el modo apropiado para sesiones largas, como lo es el caso de nosotros. Para las otras alternativas pueden ver el manual.

Los timeout son mayores a los por default, por ello es que los configuramos. Ahora reiniciamos haproxy.

service haproxy restart

Y ya tenemos configurado HAProxy para TCP.