2006-05-21 12:46:15 +00:00
|
|
|
'+' = done, '-' = todo, '*' = done except doc
|
2006-05-13 11:00:29 +00:00
|
|
|
|
|
|
|
1.2.12 :
|
|
|
|
+ weighted RR/SH
|
|
|
|
|
|
|
|
1.2.13 :
|
|
|
|
+ maxconn
|
|
|
|
+ queueing
|
|
|
|
|
|
|
|
1.2.14 :
|
2006-05-21 19:43:10 +00:00
|
|
|
+ HTML status page
|
2006-05-21 12:46:15 +00:00
|
|
|
|
|
|
|
stats enable
|
|
|
|
stats uri /?stats
|
|
|
|
stats realm w.ods.org\ statistics
|
|
|
|
stats auth user1:pass1
|
|
|
|
stats auth user2:pass2
|
|
|
|
stats auth user3:pass3
|
|
|
|
stats scope <px_id> | '.'
|
2006-05-13 11:00:29 +00:00
|
|
|
|
2006-05-21 12:47:13 +00:00
|
|
|
+ allow server-less proxies (for stats)
|
|
|
|
|
2006-05-13 11:00:29 +00:00
|
|
|
- separate timeout controls
|
|
|
|
|
2006-05-21 18:51:54 +00:00
|
|
|
+ option 'abortonclose' : if the session is queued or being connecting
|
2006-05-13 11:00:29 +00:00
|
|
|
to the server, and the client sends a shutdown(), then decide to abort
|
|
|
|
the session early because in most situations, this will be caused by
|
|
|
|
a client hitting the 'Stop' button, so there's no reason to overload
|
|
|
|
the servers with unservable requests. However, this is not HTTP compliant
|
|
|
|
and might cause little trouble to some very specific clients used to
|
|
|
|
close immediately after sending the request (no support for KA, which ones?)
|
|
|
|
|
2006-05-21 19:09:55 +00:00
|
|
|
+ minconn : makes the server's maxconn dynamic, which will be computed as a
|
2006-05-13 11:00:29 +00:00
|
|
|
ratio of the proxy's sessions :
|
|
|
|
srv->effective_maxconn =
|
|
|
|
max(srv->maxconn * px->nbsess / px->maxconn, srv->minconn)
|
|
|
|
|
2006-07-09 06:22:27 +00:00
|
|
|
1.2.15 :
|
|
|
|
+ monitor-uri : specify an URI for which we will always return 'HTTP/1.0 200'
|
|
|
|
and never forward nor log it.
|
|
|
|
|
|
|
|
+ option ssl-hello-chk : send SSLv3 client hello messages to check the servers
|
|
|
|
|
2006-05-13 11:00:29 +00:00
|
|
|
1.3 :
|
2006-06-26 00:48:02 +00:00
|
|
|
- remove unused STATTIME
|
|
|
|
|
|
|
|
- reference all the include files that must be created, possibly under subdirs :
|
|
|
|
|
|
|
|
- acl.h => more general ACL work
|
|
|
|
- appcook.h => appsession-related cookies
|
|
|
|
- backend.h => back-end part of the PR_O_* + backend definitions
|
|
|
|
- buffers.h => buffer management relying on memory.h
|
|
|
|
- capture.h => header and cookie capture
|
|
|
|
- cfgparse.h => configuration parser
|
|
|
|
- checks.h => health checks
|
|
|
|
- clireq.h => the client side "request" part of the current sessions.
|
|
|
|
- compat.h => compatibility with other OSes (TCP_NODELAY, ...)
|
|
|
|
- config.h => config parameters, renamed CONFIG_HAP_*, includes defaults.h
|
|
|
|
- controls.h => SN_CACHEABLE, ...
|
|
|
|
- cookies.h => definitions related to cookie management + SN_SCK_*
|
|
|
|
- defaults.h => many default values, might disappear soon after cleanup
|
|
|
|
- frontend.h => front-end part of the PR_O_* + client definitions + listeners
|
|
|
|
- global.h => shared global variables
|
|
|
|
- http.h => HTTP state definitions and transitions
|
|
|
|
- httperr.{hc} => HTTP return codes
|
|
|
|
- libtask.h => task scheduler
|
|
|
|
- libtime.h => time-related definitions
|
|
|
|
- loadbal.h => load balancing algorithms
|
|
|
|
- log.h => log definitions
|
|
|
|
- memory.h => pools
|
|
|
|
- polling.h => definitions of select(), poll(), INTBITS, ...
|
|
|
|
- queue.h => queue management
|
|
|
|
- regex.h => filtering
|
|
|
|
- servers.h => servers definitions (SRV_*, states, ...)
|
|
|
|
- fd.h => FD_ST* (add FD_DGRAM), RES_*, socket states, etc...
|
|
|
|
- srvreq.h => the server side "request" part of the current sessions.
|
|
|
|
- standard.h => general purpose macros and defines (eg: MIN/MAX, ...)
|
|
|
|
- startup.h => MODE_*
|
|
|
|
- tuning.h => platform-specific tuning parameters
|
|
|
|
|
|
|
|
|
|
|
|
- clarify licence by adding a 'MODULE_LICENCE("GPL")' or something equivalent.
|
|
|
|
|
2006-05-13 11:00:29 +00:00
|
|
|
- handle half-closed connections better (cli/srv would not distinguish
|
|
|
|
DATA/SHUTR/SHUTW, it would be a session flag which would tell shutr/shutw).
|
|
|
|
Check how it got changed in httpterm.
|
|
|
|
|
|
|
|
- 3 memory models : failsafe (prealloc), normal (current), optimal (alloc on
|
|
|
|
demand)
|
|
|
|
|
|
|
|
- wait queues replaced for priority-based trees
|
|
|
|
|
|
|
|
- ability to assign a prio based on L7 matching
|
|
|
|
|
|
|
|
- prio-based O(1) scheduler
|
|
|
|
|
|
|
|
- maxconn reserve for VIP/admins
|
|
|
|
|
|
|
|
- verify if it would be worth implementing an epoll_ctl_batch() for Linux
|
|
|
|
|
2006-07-09 06:22:27 +00:00
|
|
|
- balance LC/WLC (patch available)
|
|
|
|
|
|
|
|
- option minservers XXX : activates some backup servers when active servers
|
|
|
|
are insufficient
|
|
|
|
|
|
|
|
- monitor minservers XXX : monitor-net and monitor-uri could report a failure
|
|
|
|
when the number of active servers is below this threshold.
|
|
|
|
|
|
|
|
- option smtp-chk : use SMTP health checks (avoid logs if possible)
|
|
|
|
|
|
|
|
- new keyword 'check' : check http xxx, check smtp xxx, check ssl-hello
|
|
|
|
|