Pound is both a non-caching reverse http-proxy and a https offload service. The concept of pound is to be a small and audittable program with limited functionality, but to be good in what is does. See: http://www.apsis.ch/pound
Install the package: apt-get install pound
Edit the config file /etc/pound/pound.cfg
## Minimal sample pound.cfg ## ## see pound(8) for details # SSLCACertificateFile.ca-example.com-public-key.cert.pem # SSLCertificateFile.webserver.example.com.cert.pem # SSLCertificateKeyFile.webserver.example.com.key.cert.pem # ###################################################################### ## global options: User www-data Group www-data #RootJail /chroot/pound # ## allow PUT and DELETE also (by default only GET, POST and HEAD)?: ExtendedHTTP 0 WebDAV 0 # ## Logging: (goes to syslog by default) ## 0 no logging ## 1 normal ## 2 extended ## 3 Apache-style (common log format) LogLevel 1 # ## check backend every X secs: Alive 300 # ## use hardware-accelleration card supported by openssl(1): #SSLEngine <hw> # ## #################################################################### ##listen, redirect and ... to: # ## redirect all requests on port 8888 ("ListenHTTP") to the local webserver see "UrlGroup" below): #ListenHTTP 127.0.0.1,8080 ListenHTTP 192.168.1.20,8080 ListenHTTP 192.168.1.20,80 #ListenHTTPS 192.168.1.20,8443 /etc/pound/? # ## #UrlGroup ".*" #BackEnd 127.0.0.1,80,1 #EndGroup # # (name based) virtual-host UrlGroup ".*" HeadRequire Host ".*site1.example.com.*" BackEnd webserver,8081,1 EndGroup UrlGroup ".*" HeadRequire Host ".*site2.example.com.*" BackEnd webserver,8082,1 EndGroup # UrlGroup ".*" BackEnd webserver,8083,1 EndGroup #
TBD