* released 1.1.7

* added option forwardfor
* added reqirep, reqidel, reqiallow, reqideny, rspirep, rspidel
* added "log global" in "listen" section.
* added a new "global" section :
  - logs
  - debug, quiet, daemon modes
  - uid, gid, chroot, nbproc, maxconn
* added a TODO file
* updated example files
This commit is contained in:
willy tarreau 2005-12-17 13:02:59 +01:00
parent e39cd137b3
commit 9fe663a113
4 changed files with 1165 additions and 550 deletions

12
NOTES
View File

@ -4,10 +4,12 @@
* chain regex in a list
* reply 502 when no server is available
1.1.6 -> 1.1.7
- implement global logging
- have a single log function
* implement global logging
* have a single log function
* add x-forwarded-for
* log http requests on demand, and destination server name
1.1.7 -> 1.1.8
- log destination server IP
- handle parametrable HTTP health-checks replies
- differentiate http headers and http uris
- log http requests on demand, and destination server IP
- add x-forwarded-for
- support keep-alive

21
TODO Normal file
View File

@ -0,0 +1,21 @@
* x-forwarded-for
* implémenter l'option "log global" au niveau proxy pour utiliser les logs
globaux.
* matching case-insensitive
+ factoriser la fonction de log (send_log = send_syslog+warning+alert)
+ désactivation du keep-alive (suppression des ^Connection: et ajout des Connection: close)
-> 4 lignes (2 del, 2 add) suffisent.
- loguer t_cnx, t_data, t_total
- mesurer le tps consommé entre deux select, et fournir la conso CPU :
%cpu = 100 * (tpreselect(n+1)-tpostselect(n)) / (tpreselect(n+1)-tpreselect(n))
- implémenter limitation fd dans la conf : setrlimit(RLIMIT_NOFILE, ...)
- implémenter core/no-core dans la conf : setrlimit(RLIMIT_CORE, ...)
- implémenter outgoing addr
- optimiser les regex pour accélérer les matches :
- compter les matches
- si match(n) & ([n].cpt > [n-1].cpt) & ([n].action == [n-1].action), swap(n,n-1)
- régulièrement, diviser tous les compteurs (lors d'un dépassement par exemple)
- filtrage sur l'adresse IP source
- ne pas loguer certaines adresses IP sources
- gestion keep-alive

View File

@ -1,5 +1,20 @@
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
@ -7,11 +22,13 @@ listen proxy1 0.0.0.0:8000
#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 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 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
@ -28,6 +45,15 @@ listen proxy1 0.0.0.0:8000
#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

1652
haproxy.c

File diff suppressed because it is too large Load Diff