POUND - SSL REVERSE-PROXY AND LOAD-BALANCER The Pound program is a
reverse proxy, load balancer and HTTPS front-end for Web server(s).
Pound was developed to enable distributing the load among several
Web-servers and to allow for a convenient SSL wrapper for those Web
servers that do not offer it natively.

WHAT POUND IS: A reverse-proxy: it passes requests from client browsers
to one or more back-end servers.  A load balancer: it will distribute
the requests from the client browsers among several back-end servers,
while keeping session information.  An SSL wrapper: Pound will decrypt
HTTPS requests from client browsers and pass them as plain HTTP to the
back-end servers.  An HTTP/HTTPS sanitizer: Pound will verify requests
for correctness and accept only well-formed ones.  A fail over-server:
should a back-end server fail, Pound will take note of the fact and stop
passing requests to it until it recovers.  A request redirector:
requests may be distributed among servers according to the requested
URL.  Pound is a very small program, easily audited for security
problems. It can run as setuid/setgid and/or in a chroot jail. Pound
does not access the hard-disk at all (except for reading the certificate
file on start, if required).

This version is patched to do the following:
 - Log a configurable ID string or process ID
 - Not connect to its own listening ports at startup
 - Fixed memory leak in AUTH session tracking code
 - Access control based on client IP
 - Graceful shutdown - stop listening immediately while still processing 
   existing connections for a configurable time
 - Session tracking based on configurable headers
 - HTTP server health checking, with improved server health logging

