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 同上