haproxy配置TCP代理
安装:
yum -y install haproxy
备份原配置文件:
cp -rf /etc/haproxy/haproxy.cfg{,.bak}
删除配置文件中的注释行和空行:
sed -i -r '/^[ ]*#/d;/^$/d' /etc/haproxy/haproxy.cfg
修改配置文件:
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
#默认是http,我们要做tcp代理
mode tcp
log global
#需要注释下行
# option httplog
#需要添加下行
option tcplog
option dontlognull
#在使用长连接时,为了避免客户端超时没有关闭长连接,此功能可以使服务器端关闭长连接
option http-server-close
#如果服务器上的应用程序想记录发起请求的客户端的IP地址,需要在HAProxy上配置此选项,这样HAProxy会把客户端的IP信息发送给服务器,在HTTP请求中添加"X-Forwarded-For"字段
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
#成功连接到一台服务器的最长等待时间
timeout connect 1000s
#客户端超时
timeout client 150000m
#后端服务器超时
timeout server 150000m
timeout http-keep-alive 10s
timeout check 10s
#最大连接数
maxconn 6000
listen mysql
bind *:3310
mode tcp
#负载均衡的方式
balance leastconn
server mysql1 xxx.xxx.xxx.xxx:3306 check inter 500 rise 1 fall 2
登录