Have you tried Varnish?
http://www.varnish-cache.org/
It's intended as a caching proxy but can do what you're after perfectly
well.
Also if there's anything it can't do, you can in-line drop in to C in the
config files and make it do it!
As far as I know varnish doesnt support SSL (neither as frontend nor in
backends)?
So you would have to implement some extra layers anyways.
While I havent tried myself (the URL thing (with providing the key/cert to
the balancer)) you could try Pound ( http://www.apsis.ch/pound/ )
which supports the client <-- ssl --> balancer (url parsing) <-- ssl -->
backend scheme..
rr