I have got a few web servers running on my server and I want all of them to be accessible via port 80. I set up squid as a reverse proxy and it works fine. I, however, need the source ip address to be kept when the requests are redirected to the servers. Otherwise, the servers see all the connections to be originated from localhost, which isn't very good.
I know there is an option forwarded_for which creates X-Forwarded-For header, but it is not really transparent and not every server supports it.