haproxy学习笔记2:1.3.0的配置文件解析

global                                                                                                                   #设置全局变量
	log	127.0.0.1 local0                                                                                       #设置一个日志服务器
#	log	127.0.0.1 local1                                                                                       #设置另一个日志服务器
	maxconn	4000                                                                                             #设置maxconn
	ulimit-n 8000                                                                                                   #设置rlimit_nofile
	uid	0                                                                                                         #设置uid
	gid	0                                                                                                         #设置gid
#	chroot	/tmp                                                                                                     #设置chroot
#	nbproc	2                                                                                                         #设置nbproc=2
#	daemon                                                                                                           #设置daemon标志
#	debug                                                                                                            #设置debug标志
        quiet

listen proxy1 0.0.0.0:8000                                                                                           #设置一个新的proxy节点
	mode	http                                                                                                    #设置为HTTP方式
#	source	127.0.0.2:0                                                                                            #设置source_addr,options
#	log	127.0.0.1 local0                                                                                      #设置一个日志服务器
#	log	127.0.0.1 local1                                                                                      #设置一个日志服务器
	log     global                                                                                                 #根据global来复制2个日志服务器配置
	#mode	tcp                                                                                                     #设置mode为tcp方式
       cookie SERVERID insert indirect                                                                             #设置cookie_name以及options|=insert indirect
	balance roundrobin                                                                                            #设置轮询负载均衡方式
	dispatch 127.0.0.1:3130                                                                                      #设置dispatch_addr,会覆盖上一个
	#dispatch 127.0.0.1:31300                                                                          #设置dispatch_addr,会覆盖上一个
	dispatch 127.0.0.1:80                                                                               #设置dispatch_addr,会覆盖上一个
	#dispatch 127.0.0.1:22                                                                                       #设置dispatch_addr,会覆盖上一个
	option httpchk                                                                                                #设置options|=PR_O_HTTP_CHK(这里有非常多的方式),并且设置check_req为"OPTIONS / HTTP/1.0\r\n\r\n"
	server test 10.1.1.2:80 cookie cookie1 check inter 300                                                 #初始化一个server对象,挂到某个proxy下,id=test,addr=10.1.1.2,port=80,cookie=cookie1,check=1,inter=300,check_port=80
#	server nc 127.0.0.1:8080 cookie cookie1 check inter 300                                                #同上
#	server tuxlocal0 10.101.23.9:80 cookie cookie1 check                                                    #同上
#	server tuxlocal1 127.0.0.1:80 cookie cookie1 check                                               #同上
#	server tuxlocal2 127.0.0.1:80 cookie cookie2 check                                               #同上
#	server tuxlocal3 127.0.0.1:80 cookie cookie3 check                                               #同上
#	server tuxlocal4 127.0.0.1:80 cookie cookie4 check                                               #同上
#	server vax 10.101.14.1:80 cookie cookie1 check                                                    #同上
	#server tuxceleron 10.101.0.1:80 cookie cookie2 check                                                   #同上
	#server telnet 127.0.0.1:23                                                                                 #同上
	#server ssh 127.0.0.1:22                                                                                     #同上
	#server local 127.0.0.1:3130 cookie cookie3 check                                                #同上
	#server ko 127.0.0.1:0 cookie cookie3 check                                                               #同上
	#server local 127.0.0.1:8001 cookie cookie3 check                                                        #同上
	#server local 127.0.0.1:3130                                                                                #同上
	#server celeron 10.101.0.1:80 cookie srv1                                                                 #同上
	#server celeron 10.101.0.1:31300                                                                            #同上
	#server local 10.101.23.9:31300                                                                             #同上
	contimeout	3000                                                                                            #设置contimeout
	clitimeout	150000                                                                                          #设置clitimeout
	srvtimeout	150000                                                                                          #设置srvtimeout
	maxconn 60000                                                                                                  #设置maxconn
	redispatch                                                                                                      #options |= PR_O_REDISP
	retries	3                                                                                                #conn_retries
	grace 3000                                                                                               #设置grace
	rsprep	^Server.* Server:\ IIS                                                                           #response中的替换正则表达式,行为:ACT_REPLACE(默认)
	rspdel	^Server.*                                                                                        #response中的正则表达式,行为:ACT_REMOVE
	rspadd Set-Cookie:\ mycookie=0;\ path=/                                                                  #response中存在
	rsprep ^(Date:\ )([^,]*)(,\ )(.*) LaDate\ est:\ \4\ (\2)                                                  #response中的替换正则表达式,行为:ACT_REPLACE(默认)
	#force connection:close                                                                                 
	reqidel ^Connection:                                                                                    #resquest里删除这一项,ignore大小写
	rspidel ^Connection:                                                                                    #response中删除这项,ignore大小写   
	reqadd	Connection:\ close                                                                              #request里添加
	rspadd	Connection:\ close                                                                              #response里添加
	#processing options
	option	keepalive                                                                                       #options添加keepalive标志
	option	forwardfor                                                                                      #options添加forward标志
	option httplog                                                                                          #options添加httplog标志
	option dontlognull                                                                                      #options添加PR_O_NULLNOLOG标志
	reqirep ^(Test:\ ) \0_toto_\1_toto                                                                      #request里替换
	reqidel ^X-Forwarded-for:                                                                               #request里删除,忽略大小写
	reqirep ^(GET|POST)\ .* \0                                                                              #request里替换,忽略大小写
	reqirep ^(Host:|Connection:|User-agent:|Cookie:)\ .* \0                                                 #request里替换,忽略大小写
	reqideny ^                                                                                              
	
listen proxy1 0.0.0.0:8001                                                                                       #设置一个新的proxy节点
	mode	http                                                                                             #设置为HTTP方式
	#mode	tcp                                                                                              #设置为TCP方式
	dispatch 127.0.0.1:80                                                                                    #设置dispatch_addr,会覆盖上一个
	#dispatch 127.0.0.1:31300                                                                                #设置dispatch_addr,会覆盖上一个
	#dispatch 127.0.0.1:80                                                                                   #设置dispatch_addr,会覆盖上一个
	#dispatch 127.0.0.1:22                                                                                   #设置dispatch_addr,会覆盖上一个
	#server tuxlocal 127.0.0.1:80 cookie cookie1 check                                                      #初始化一个server对象,挂到某个proxy下,id=test,addr=10.1.1.2,port=80,cookie=cookie1,check=1,inter=300,check_port=80
	#server tuxceleron 10.101.0.1:80 cookie cookie2 check                                                   #同上
	#server telnet 127.0.0.1:23                                                                             #同上
	#server ssh 127.0.0.1:22                                                                                #同上
	#server local 127.0.0.1:3130 cookie cookie3 check                                                       #同上
	#server local 127.0.0.1:3130                                                                            #同上
	#server celeron 10.101.0.1:80 cookie srv1                                                               #同上
	#server celeron 10.101.0.1:31300                                                                        #同上
	#server local 10.101.23.9:31300                                                                         #同上
	#contimeout	3000                                                                                   #设置contimeout
	#clitimeout	150000                                                                                 #设置clitimeout
	#srvtimeout	150000                                                                                 #设置srvtimeout  
	#maxconn 60000                                                                                           #设置maxconn
	#redispatch                                                                                               #options |= PR_O_REDISP
	#retries	3                                                                                             #conn_retries
	#grace 3000                                                                                             #设置grace
	#rsprep	^Server.* Server:\ IIS                                                                        #response替换
	#rspdel	^Server.*                                                                                     #respnse删除
	#rspadd Set-Cookie:\ SERVERID=12345678;\ path=/                                                        #response增加
	#rsprep ^(Date:\ )([^,]*)(,\ )(.*) LaDate\ est:\ \4\ (\2)                                             #response替换
	
listen proxy1 0.0.0.0:3128                                                                                     #设置一个新的proxy节点
	disabled                                                                                               #阻止这个proxy
	mode	http                                                                                           #设置为HTTP方式
        cookie SERVERID insert indirect                                                                        #设置cookie_name以及options|=insert indirect
	#dispatch 127.0.0.1:8080                                                                               #设置dispatch_addr,会覆盖上一个
	server srv1 127.0.0.1:8080                                                                             #初始化一个server对象,挂到某个proxy下,id=test,addr=127.0.0.1,port=8080
 	#server srv2 192.168.12.3:8080                                                                         #同上
	contimeout	3000                                                                                   #设置contimeout
	clitimeout	450000                                                                                 #设置clitimeout
	srvtimeout	450000                                                                                 #设置srvtimeout
	maxconn 60000                                                                                          #设置maxconn
	redispatch                                                                                             #options |= PR_O_REDISP
	retries	3                                                                                              #conn_retries
	grace 3000                                                                                             #设置grace
	rspdel ^Via:.*                                                                                         #response删除
	monitor-net	192.168.12.252/30                                                                     #设置curproxy->mon_net.s_addr &= curproxy->mon_mask.s_addr;【192.168.12.252/30】
	

listen proxy2 0.0.0.0:3129                                                                                     #设置一个新的proxy节点
	disabled                                                                                               #阻止这个proxy
	mode	http                                                                                           #设置为HTTP方式
	transparent                                                                                            #options |= PR_O_TRANSP
#	dispatch 127.0.0.1:80                                                                                  #设置dispatch_addr,会覆盖上一个
	contimeout	3000                                                                                  #设置contimeout
	clitimeout	150000                                                                                #设置clitimeout
	srvtimeout	150000                                                                                #设置srvtimeout
	maxconn 60000                                                                                          #设置maxconn
	retries	3                                                                                             #设置conn_retries
	grace 3000                                                                                            #设置grace

#	log	10.101.11.1 local1                                                                            #日志服务器
#	log	10.101.11.1 local2                                                                            #日志服务器

	cliexp	^(.*ASPSESSIONID.*=)(.*) \1FENICGGCBECLFFEEOAEAIFGF                                          #rsp_exp 行为是替换
#	cliexp	^(GET.*)(.free.fr)(.*) \1.online.fr\3                                                        #同上
#	cliexp	^(POST.*)(.free.fr)(.*) \1.online.fr\3                                                       #同上
#	cliexp	^Proxy-Connection:.*	Proxy-Connection:\ close                                            #同上
	srvexp	^(Location:\ )([^:]*://[^/]*)(.*) \1\3                                                       #rsp_exp,行为是替换

listen health 0.0.0.0:3130                                                                                    #设置一个新的proxy节点
	mode	health                                                                                        #设置为health
	clitimeout	1500                                                                                #设置clitimeout
	srvtimeout	1500                                                                                #设置srvtimeout
	maxconn 6000                                                                                        #设置maxconn
	grace 0                                                                                             #设置grace


listen health 0.0.0.0:31300                                                                                   #设置一个新的proxy节点
	mode	health                                                                                       #设置为health
	option  httpchk                                                                                      #设置options|=PR_O_HTTP_CHK(这里有非常多的方式),并且设置check_req为"OPTIONS / HTTP/1.0\r\n\r\n"
	clitimeout	1500                                                                                #设置clitimeout
	srvtimeout	1500                                                                                #设置srvtimeout
	maxconn 6000                                                                                        #设置maxconn
	grace 0                                                                                             #设置grace


===============

global                                                                                       #global状态
	log	127.0.0.1 local0                                                           #global里配置的第一个日志服务器
#	log	127.0.0.1 local1                                                           #global里配置的第一个日志服务器
	maxconn	4000                                                                 #global.maxconn
	ulimit-n 8000                                                                       #global.rlimit_nofile
	uid	0                                                                             #global.uid
	gid	0                                                                             #global.gid
#	chroot	/tmp                                                                         #global.chroot 
#	nbproc	2                                                                            #global.nbproc
#	daemon                                                                              #global.mode |= MODE_DAEMON;
#	debug                                                                               #global.mode |= MODE_DEBUG
#	quiet                                                                               #global.mode |= MODE_QUIET

listen proxy1 0.0.0.0:8000                                                               #构造一个新的server
	mode	http                                                                        #curproxy->mode = PR_MODE_HTTP
#	source	127.0.0.2:0                                                                #source_addr,options
#	log	127.0.0.1 local0                                                          #给第一个日志服务器赋值
#	log	127.0.0.1 local1                                                          #给第二个日志服务器赋值
	log global                                                                         #1和2都从global中复制过来
	#mode	tcp                                                                         #设置为tcp格式
        cookie SERVERID insert indirect                                               #设置cookie_name="SERVERID",options |= PR_O_COOK_INS |= PR_O_COOK_IND
	balance roundrobin                                                               #curproxy->options |= PR_O_BALANCE_RR
	#dispatch 127.0.0.1:3130                                                        #curproxy->dispatch_addr
	#dispatch 127.0.0.1:31300                                                       #curproxy->dispatch_addr
	#dispatch 127.0.0.1:80                                                          #curproxy->dispatch_addr
	#dispatch 127.0.0.1:22                                                          #curproxy->dispatch_addr
	option httpchk                                                                   #options |= PR_O_HTTP_CHK, curproxy->check_req="OPTIONS / HTTP/1.0\r\n\r\n"
	server test 10.1.1.2:80 cookie cookie1 check inter 300                    #构造一个server对象,id="test",addr="10.1.1.2:80",其它等,
#	server nc 127.0.0.1:8080 cookie cookie1 check inter 300                   #构造一个server对象,id="test",addr="10.1.1.2:80",其它等,
#	server tuxlocal0 10.101.23.9:80 cookie cookie1 check                      #同上
#	server tuxlocal1 127.0.0.1:80 cookie cookie1 check                        #同上
#	server tuxlocal2 127.0.0.1:80 cookie cookie2 check                        #同上
#	server tuxlocal3 127.0.0.1:80 cookie cookie3 check                        #同上
#	server tuxlocal4 127.0.0.1:80 cookie cookie4 check                        #同上
#	server vax 10.101.14.1:80 cookie cookie1 check                             #同上
	#server tuxceleron 10.101.0.1:80 cookie cookie2 check                     #同上
	#server telnet 127.0.0.1:23                                                   #同上
	#server ssh 127.0.0.1:22                                                      #同上
	#server local 127.0.0.1:3130 cookie cookie3 check                         #同上
	#server ko 127.0.0.1:0 cookie cookie3 check                                #同上
	#server local 127.0.0.1:8001 cookie cookie3 check                         #同上
	#server local 127.0.0.1:3130                                                  #同上
	#server celeron 10.101.0.1:80 cookie srv1                                  #同上
	#server celeron 10.101.0.1:31300                                             #同上
	#server local 10.101.23.9:31300                                              #同上
	contimeout	3000                                                             #curproxy->contimeout
	clitimeout	150000                                                          #curproxy->clitimeout
	srvtimeout	150000                                                          #curproxy->srvtimeout
	maxconn 60000                                                                  #curproxy->maxconn
	redispatch                                                                      curproxy->options |= PR_O_REDISP
	retries	3                                                               curproxy->conn_retries
	grace 3000                                                                     curproxy->grace=3000
	#rsprep	^Server.* Server:\ IIS                                       curproxy->rsp_exp # 替换 response header from a regex 
	#rspdel	^Server.*                                                      curproxy->rsp_exp # 删除
	#rspadd Set-Cookie:\ mycookie=0;\ path=/                                  curproxy->rsp_add直接添加这个字符串,是一个数组
	#rsprep ^(Date:\ )([^,]*)(,\ )(.*) LaDate\ est:\ \4\ (\2)              同上
	# force connection:close                                                    无语
	#reqidel ^Connection:                                                        curproxy->req_exp,删除                                                       
	#rspidel ^Connection:                                                        curproxy->rep_exp,删除
	#reqadd	Connection:\ close                                           curproxy->req_add直接添加这个字符串,是一个数组
	#rspadd	Connection:\ close                                           curproxy->rsp_add直接添加这个字符串,是一个数组
	# processing options                                                         #无语
	#option	keepalive                                                      curproxy->options |= PR_O_KEEPALIVE
	option	forwardfor                                                            curproxy->options |= PR_O_FWDFOR
	option httplog                                                                curproxy->to_log |= LW_DATE | LW_CLIP | LW_SVID | LW_REQ | LW_PXID | LW_RESP | LW_BYTES;
	option dontlognull                                                           curproxy->options |= PR_O_NULLNOLOG;
#	reqirep ^(Test:\ ) \0_toto_\1_toto                                        同上                             
#	reqidel ^X-Forwarded-for:                                                  同上
#	reqirep ^(GET|POST)\ .* \0                                                 同上
#	reqirep ^(Host:|Connection:|User-agent:|Cookie:)\ .* \0               同上
#	reqideny ^                                                                    curproxy->req_exp,行为deny
	
listen proxy1 0.0.0.0:8001                                                         同上
	mode	http                                                                  同上
	#mode	tcp                                                                   同上
	dispatch 127.0.0.1:80                                                       #curproxy->dispatch_addr
	#dispatch 127.0.0.1:31300                                                  同上
	#dispatch 127.0.0.1:80                                                      同上
	#dispatch 127.0.0.1:22                                                 同上
	#server tuxlocal 127.0.0.1:80 cookie cookie1 check                      #构造一个server对象
	#server tuxceleron 10.101.0.1:80 cookie cookie2 check                 同上
	#server telnet 127.0.0.1:23                                                同上
	#server ssh 127.0.0.1:22                                                   同上
	#server local 127.0.0.1:3130 cookie cookie3 check                      同上
	#server local 127.0.0.1:3130                                               同上
	#server celeron 10.101.0.1:80 cookie srv1                               同上
	#server celeron 10.101.0.1:31300                                         同上
	#server local 10.101.23.9:31300                                          同上
	contimeout	3000                                                         同上
	clitimeout	150000                                                       同上
	srvtimeout	150000                                                       同上
	maxconn 60000                                                               同上
	redispatch                                                                   curproxy->options |= PR_O_REDISP
	retries	3                                                            同上
	grace 3000                                                                  同上
	#rsprep	^Server.* Server:\ IIS                                    同上
	#rspdel	^Server.*                                                   同上
	rspadd Set-Cookie:\ SERVERID=12345678;\ path=/                        同上
	#rsprep ^(Date:\ )([^,]*)(,\ )(.*) LaDate\ est:\ \4\ (\2)           同上
	
listen proxy1 0.0.0.0:3128                                                       同上
	disabled		                                                     curproxy->state=PR_STSTOPPED				 		    
	mode	http                                                                同上
        cookie SERVERID insert indirect                                        同上
	#dispatch 127.0.0.1:8080                                                 同上
	server srv1 127.0.0.1:8080                                               同上
 	#server srv2 192.168.12.3:8080                                          同上
	contimeout	3000                                                        同上
	clitimeout	450000                                                      同上
	srvtimeout	450000                                                      同上
	maxconn 60000	                                                             同上
	redispatch                                                                  curproxy->options |= PR_O_REDISP                      
	retries	3                                                            同上
	grace 3000                                                                  同上
	rspdel ^Via:.*                                                             同上
	monitor-net	192.168.12.252/30                                         设置mon_net,mon_mask
	

listen proxy2 0.0.0.0:3129                                                       同上
	disabled                                                                    curproxy->state=PR_STSTOPPED	
	mode	http                                                                同上
	transparent                                                                修改 curproxy->options |= PR_O_TRANSP
#	dispatch 127.0.0.1:80                                                    同上
	contimeout	3000                                                        同上
	clitimeout	150000                                                     同上
	srvtimeout	150000                                                     同上
	maxconn 60000                                                             同上
	retries	3                                                           同上
	grace 3000                                                                 同上

#	log	10.101.11.1 local1                                               同上
#	log	10.101.11.1 local2                                               同上

#	cliexp	^(.*ASPSESSIONID.*=)(.*) \1FENICGGCBECLFFEEOAEAIFGF        req_exp,替换
#	cliexp	^(GET.*)(.free.fr)(.*) \1.online.fr\3                        req_exp,替换
#	cliexp	^(POST.*)(.free.fr)(.*) \1.online.fr\3                       同上
#	cliexp	^Proxy-Connection:.*	Proxy-Connection:\ close               同上
#	srvexp	^(Location:\ )([^:]*://[^/]*)(.*) \1\3                       res_exp,替换

listen health 0.0.0.0:3130                                                      同上
	mode	health                                                             同上
	clitimeout	1500                                                       同上
	srvtimeout	1500                                                       同上
	maxconn 6000                                                              同上
	grace 0   							           同上


listen health 0.0.0.0:31300                                                     同上
	mode	health							           同上
	option  httpchk                                                           同上
	clitimeout	1500                                                       同上
	srvtimeout	1500                                                       同上
	maxconn 6000                                                              同上
	grace 0                                                                    同上

 

你可能感兴趣的:(haproxy)