Running Pound reverse proxy on windows server 2003

Pound is the unix reverse proxy software popularized by Rails deployment over the past 8-12 months. Pound is a unix tool, and was never meant to run under windows - it is however possible to make it run under windows if you package it up with some key DLL files from cygwin :)

I must stress here that this is not necessarily the best thing to be doing, this post is more about how to do it if you really want too rather than a "do this, I really recommend it" type post. There are also some issues with pound and its behavior with X-FORWARDED_FOR headers, but i wont bang on about that here; refer to google for more info. Anyway... back to the post.....

Take the latest pound distro from here then compile it from within Cygwin like so

./configure --without-ssl --disable-log --disable-dynscale

then

make all

Then you should be left with a working binary of pound within your build directory. In order to then make this work in a standalone fashion (I use the term standalone loosely as its still using the cygwin environment) you need to package several DLL files from cygwin:

cygssl-0.9.8.dll (required)

cygcrypto-0.9.8.dll (required)

cygwin1.dll (required)

pound.exe (required, should be fairly obvious!)

cygrunsrv.exe (optional, include only if you want to install pound as a service)

with these files you can then run pound, and even install it as a service on the host machine. If you do want to install the service, run the following command:

cygrunsrv --install Pound --path X:\applications\pound-2.3.2\bin\pound.exe --args "-f X:\applications\pound-2.3.2\config\pound.cfg" --stdout X:\applications\pound-2.3.2\log\pound.log --stderr X:\applications\pound-2.3.2\log\pound.log

Where "X:\applications\pound-2.3.2" is the real path to where ever it is on the file system you chose to install.

If you don't want to compile your own, then you can download my version of pound 2.3.2 for windows here. It goes without saying I take no responsibility for any problems you might run into by using my compiled version; it worked for me thats all I can say!

blog comments powered by Disqus