HAProxy的特点是:
1、支持两种代理模式:TCP(四层)和HTTP(七层),支持虚拟主机;
2、能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作
3、支持url检测后端的服务器出问题的检测会有很好的帮助。
4、更多的负载均衡策略比如:动态加权轮循(Dynamic Round Robin),加权源地址哈希(Weighted Source Hash),加权URL哈希和加权参数哈希(Weighted Parameter Hash)已经实现
5、单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度。
6、HAProxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡。
9、支持负载均衡算法:Round-robin(轮循)、Weight-round-robin(带权轮循)、source(原地址保持)、RI(请求URL)、rdp-cookie(根据cookie)
10、不能做Web服务器即Cache。
源码方式安装Haproxy
#tar xzvf haproxy-1.4.17.tar.gz
#cd haproxy-1.4.17
#make TARGET=linux26
#make install
测试配置文件如下
1 global
2 log 127.0.0.1 local0
3 # log 127.0.0.1 local1
4 maxconn 4000
5 ulimit-n 8000
6 uid 0
7 gid 0
8 # chroot /tmp
9 # nbproc 2
10 # daemon
11 # debug
12 # quiet
13
14 listen proxy1 192.168.207.128:8000
15 mode http
16 # source 127.0.0.2:0
17 # log 127.0.0.1 local0
18 # log 127.0.0.1 local1
19 log global
20 #mode tcp
21 cookie SERVERID insert indirect
22 balance roundrobin
23 #dispatch 127.0.0.1:3130
24 #dispatch 127.0.0.1:31300
25 #dispatch 127.0.0.1:80
26 #dispatch 127.0.0.1:22
27 option httpchk
28 # server test 127.0.0.1:80 cookie cookie1 check inter 300
29 # server web02 192.168.0.104:80 cookie cookie2 check inter 300
30 server web01 127.0.0.1:80 cookie cookie1 check inter 2000 fall 3 weight 30 #定义的多个后端
31 server web02 192.168.0.104:80 cookie cookie2 check inter 2000 fall 3 weight 30 #定义的多个后端
32
33 # server nc 127.0.0.1:8080 cookie cookie1 check inter 300
34 # server tuxlocal0 10.101.23.9:80 cookie cookie1 check
35 # server tuxlocal1 127.0.0.1:80 cookie cookie1 check
36 # server tuxlocal2 127.0.0.1:80 cookie cookie2 check
37 # server tuxlocal3 127.0.0.1:80 cookie cookie3 check
38 # server tuxlocal4 127.0.0.1:80 cookie cookie4 check
39 # server vax 10.101.14.1:80 cookie cookie1 check
40 #server tuxceleron 10.101.0.1:80 cookie cookie2 check
41 #server telnet 127.0.0.1:23
42 #server ssh 127.0.0.1:22
43 #server local 127.0.0.1:3130 cookie cookie3 check
44 #server ko 127.0.0.1:0 cookie cookie3 check
45 #server local 127.0.0.1:8001 cookie cookie3 check
46 #server local 127.0.0.1:3130
47 #server celeron 10.101.0.1:80 cookie srv1
48 #server celeron 10.101.0.1:31300
49 #server local 10.101.23.9:31300
50 contimeout 3000
51 clitimeout 150000
52 srvtimeout 150000
53 maxconn 60000
54 option redispatch
55 retries 3
56 grace 3000
57 #rsprep ^Server.* Server:\ IIS
58 #rspdel ^Server.*
59 #rspadd Set-Cookie:\ mycookie=0;\ path=/
60 #rsprep ^(Date:\ )([^,]*)(,\ )(.*) LaDate\ est:\ \4\ (\2)
61 # force connection:close
62 #reqidel ^Connection:
63 #rspidel ^Connection:
64 #reqadd Connection:\ close
65 #rspadd Connection:\ close
66 # processing options
67 #option keepalive
68 option forwardfor
69 option httplog
70 option dontlognull
71 # reqirep ^(Test:\ ) \0_toto_\1_toto
72 # reqidel ^X-Forwarded-for:
73 # reqirep ^(GET|POST)\ .* \0
74 # reqirep ^(Host:|Connection:|User-agent:|Cookie:)\ .* \0
75 # reqideny ^
76
77 listen proxy2 0.0.0.0:8001
78 mode http
79 #mode tcp
80 dispatch 127.0.0.1:80
81 #dispatch 127.0.0.1:31300
82 #dispatch 127.0.0.1:80
83 #dispatch 127.0.0.1:22
84 #server tuxlocal 127.0.0.1:80 cookie cookie1 check
85 #server tuxceleron 10.101.0.1:80 cookie cookie2 check
86 #server telnet 127.0.0.1:23
87 #server ssh 127.0.0.1:22
88 #server local 127.0.0.1:3130 cookie cookie3 check
89 #server local 127.0.0.1:3130
90 #server celeron 10.101.0.1:80 cookie srv1
91 #server celeron 10.101.0.1:31300
92 #server local 10.101.23.9:31300
93 contimeout 3000
94 clitimeout 150000
95 srvtimeout 150000
96 maxconn 60000
97 option redispatch
98 retries 3
99 grace 3000
100 #rsprep ^Server.* Server:\ IIS
101 #rspdel ^Server.*
102 rspadd Set-Cookie:\ SERVERID=12345678;\ path=/
103 #rsprep ^(Date:\ )([^,]*)(,\ )(.*) LaDate\ est:\ \4\ (\2)
104
105 listen proxy3 0.0.0.0:3128
106 disabled
107 mode http
108 cookie SERVERID insert indirect
109 #dispatch 127.0.0.1:8080
110 server srv1 127.0.0.1:8080
111 #server srv2 192.168.12.3:8080
112 contimeout 3000
113 clitimeout 450000
114 srvtimeout 450000
115 maxconn 60000
116 option redispatch
117 retries 3
118 grace 3000
119 rspdel ^Via:.*
120 monitor-net 192.168.12.252/30
121
122
123 listen proxy4 0.0.0.0:3129
124 disabled
125 mode http
126 transparent
127 # dispatch 127.0.0.1:80
128 contimeout 3000
129 clitimeout 150000
130 srvtimeout 150000
131 maxconn 60000
132 retries 3
133 grace 3000
134
135 # log 10.101.11.1 local1
136 # log 10.101.11.1 local2
137
138 # cliexp ^(.*ASPSESSIONID.*=)(.*) \1FENICGGCBECLFFEEOAEAIFGF
139 # cliexp ^(GET.*)(.free.fr)(.*) \1.online.fr\3
140 # cliexp ^(POST.*)(.free.fr)(.*) \1.online.fr\3
141 # cliexp ^Proxy-Connection:.* Proxy-Connection:\ close
142 # srvexp ^(Location:\ )([^:]*://[^/]*)(.*) \1\3
143
144 listen health 0.0.0.0:3130
145 mode health
146 clitimeout 1500
147 srvtimeout 1500
148 maxconn 6000
149 grace 0
150
151
152 listen health2 0.0.0.0:31300
153 mode health
154 option httpchk
155 clitimeout 1500
156 srvtimeout 1500
157 maxconn 6000
158 grace 0
Haproxy配置
相关文章
标签:服务器技术
- •VMware Workstation Pro 16安装CentOS7超详细图文步骤
- •CentOS7下配置使用JumpServer 堡垒机 (图文教程)
- •CentOS安装jdk的几种方法及配置环境变量方式
- •CentOS忘记密码修改方案以及centos卡在开机登录界面,命令失效的解决方法
- •解决笔记本安装centos7后无法调节屏幕亮度
- •VMware安装CentOS 8.1(CentOS 8系列可参考)的图文详细教程
- •CentOS7 minimal 最小化安装网络设置过程
- •CentOS7下搭建JumpServer
- •CentOS安装rpm包出现冲突时的解决办法
- •Vmware下CentOS7最小化安装方式