# Test configuration. It listens on port 8000, forwards to
# local ports 8001/8002 as two distinct servers, and relies
# on a server running on local port 8080 to handle the request.

global
	maxconn 500
	stats socket /tmp/sock1 mode 777 level admin
	stats timeout 1d

defaults
	mode	http
	option  http-server-close
	timeout	client 30s
	timeout server 30s
	timeout connect 5s

listen test
	log 127.0.0.1 local0
	option httplog
	bind :8000
	cookie SID prefix 
	server s1 127.0.0.1:8001 cookie s1
	server s2 127.0.0.1:8002 cookie s2
	capture cookie toto= len 10

listen s1
	bind 127.0.0.1:8001
	server srv 127.0.0.1:8080
	reqadd x-haproxy-used:\ s1

listen s2
	bind 127.0.0.1:8002
	server srv 127.0.0.1:8080
	reqadd x-haproxy-used:\ s2

