Haproxy日常笔记

2017-06-21

快速安装(ubuntu 14.04默认安装的v1.4版本):

apt-get install haproxy

源码安装:

wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.6.tar.gz
tar -zxvf haproxy-1.7.6.tar.gz
cd haproxy-1.7.6
make TARGET=linux2628 CPU=x86_64 PREFIX=/usr/local/haprpxy
make install PREFIX=/usr/local/haproxy

启动:

/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg

配置文件:

单端口同时代理ssh和websocket:

cat /etc/haproxy/haproxy.cfg

defaults  
    timeout connect 5s  
    timeout client 50s  
    timeout server 20s  
listen http  
    bind :80
    timeout client 1h  
    tcp-request inspect-delay 5s  
    acl is_http req.payload(0,3) -m bin 474554 504f53 505554 44454c   # 包含请求头 GET POS PUT DEL
    tcp-request content accept if is_http
    use_backend websocket if is_http
    default_backend ssh
backend websocket
    mode http
    server sock :8080
    timeout server 2h
    stats refresh 30s           #统计页面自动刷新时间  
    stats uri /stats            #统计页面url  
    stats realm Haproxy Manager #统计页面密码框上提示文本  
    stats auth admin:admin      #统计页面用户名和密码设置  
    stats hide-version          #隐藏统计页面上HAProxy的版本信息
backend ssh  
    mode tcp  
    server server-ssh :22
    timeout server 1h

请求头16进制抓取

nc -l -p 8080|hexdump -C

官网:http://www.haproxy.org/

文档:https://cbonte.github.io/haproxy-dconv/