November 09, 2004

Pound web proxy

On my home network, I've got several machines running, with various functions. I've got my gateway/mail/web server, desktops, a Dreambox satellite receiver, and a linux PVR box running MythTV and VDR. Some of my internal machines are running web servers of their own - in particular the VDR box and my dreambox sat receiver have web servers through which program schedules can be made with a web browser from anywhere.

However, having a static single IP address means that these machines aren't reachable from the outside through my NAT gateway, unless I put in some port forwarding. I did this for a while, forwarding unused TCP ports to the web servers on the inside, but it's rather messy.

I found a solution at last, and it uses Pound, a very simple application which proxies incoming HTTP requests, much like any other reverse proxy solution, and forwards them onto different machines depending on attributes in the Host header. With this, I can now make different virtual hosts, and they all get redirected to the right machine and right port number, all from one tcp port on a single IP address.

With this single binary and a very small (10 line) config file, I now have going to one box, to another box, etc. A default directive catches all other Host headers to my main server.

Posted by Ben at November 9, 2004 12:58 PM

I see you posted this a few weeks ago. How do you like pound? I've been working on a similar reverse proxy, although my primary objective is security, not performance. I've been considering putting this type of virtual host management in the next release.

Posted by: Christopher Baus at November 29, 2004 11:03 PM
Post a comment

Remember personal info?

Recent Entries
- Linux on an HP Compaq NC6400
- Sodium in water? Bah..try Caesium!
- I'm off to Lugradio
- Food for thought...
- Replacing ugly Helvetica fonts in Xorg
Support me...

Email me:
NL time:12:21
Book: Assassini (Thomas Gifford)
Amazon wish list
Search the web