global
	log	127.0.0.1 local0
#	log	127.0.0.1 local1
	maxconn	4000
	uid	0
	gid	0
#	chroot	/tmp
#	nbproc	4
#	daemon
#	debug
#	quiet

listen proxy1 0.0.0.0:8000
	mode	http
#	log	127.0.0.1 local0
#	log	127.0.0.1 local1
	log global
	#mode	tcp
        cookie SERVERID insert indirect
	balance roundrobin
	#dispatch 127.0.0.1:3130
	#dispatch 127.0.0.1:31300
	#dispatch 127.0.0.1:80
	#dispatch 127.0.0.1:22
	#server nc 127.0.0.1:8080 cookie cookie1 check
	server tuxlocal 127.0.0.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
	clitimeout	150000
	srvtimeout	150000
	maxconn 60000
	redispatch
	retries	3
	grace 3000
	#rsprep	^Server.* Server:\ IIS
	#rspdel	^Server.*
	#rspadd Set-Cookie:\ mycookie=0;\ path=/
	#rsprep ^(Date:\ )([^,]*)(,\ )(.*) LaDate\ est:\ \4\ (\2)
	# force connection:close
	#reqidel ^Connection:
	#rspidel	^Connection:
	#reqadd	Connection:\ close
	#rspadd	Connection:\ close
	# processing options
	#option	keepalive
	option	forwardfor
	option httplog
	
listen proxy1 0.0.0.0:8001
	mode	http
	#mode	tcp
	dispatch 127.0.0.1:80
	#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 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
	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
	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
	retries	3
	grace 3000
	rspdel ^Via:.*
	

listen proxy2 0.0.0.0:3129
	disabled
	mode	http
	transparent
#	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
#	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

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
	clitimeout	1500
	srvtimeout	1500
	maxconn 6000
	grace 0
