It does not appear that there is a similar question to this already posted, so I will go ahead and ask.

I am working on a project that could benefit from having two - four servers handling incoming requests to a backend webservice. The service does not require SSL but does need to support occassional long running processes (upto 120 secs).

This project does not at present have the funding to purchase a hardware load balancing solution.

I have previously used HAProxy as a solution for this, and found it very simple and straightforward. Is there a similar product for windows (server 2003 or 2008) which provides similar configuration options and runs as a lightweight service?

For reasons outside my control I cannot setup a Linux machine (physical or virtual) and so I am looking for behaviour that can be deployed on a windows machine.

I can only find Perlbal which appears to fall into this category. So as not to keep this open indifenitely I will give credit to the only answer.

  • What version of Windows? Dec 17 '09 at 19:38
  • Windows Server 2003 or 2008 Dec 17 '09 at 19:49

Maybe Perlbal? This is a Perl-based load balancing solution. I have not worked with it myself but I've seen it referenced often and, since it's written in Perl, there's some chance it will work. But...

...Google suggests that Windows server already has a built-in network load balancing service, as discussed here and here.

  • I will look into it. Windows LB is not the LB that the client wants as they want a proxy load balancer for forwarding traffic to two backend servers who will share the response. I dont know much about Windows LB but my understanding is it will not work for this project. Dec 17 '09 at 23:21
  • Also Mircosoft NLB and virtual environments don't go well together.
    – aairey
    Oct 30 '14 at 12:11

Be careful, I've got very negative reports from people running Windows LB, which was the main reason why they switched to haproxy. If you're satisfied with haproxy, you can build it on windows using the cygwin suite. I have not tested it myself, but the user who performed the port did. He also told me that there was a limit to approximately 1600 concurrent connections per process under windows, which may or may not be enough for you.

From my understanding, the build should be as straightforward as on linux : "make". If you need more info from this user, I invite you to send a call on the haproxy mailing list. Alternatively, there are certainly people here on serverfault who can help with setting up a cygwin build environment. Please use version 1.3.22 (latest stable) for this.


You can use NGINX as a reverse proxy. It supported on windows platform.

Go to NGINX home page for download and installation: NGINX home page

There is very nice tutorial how to configure it to serve load balancing: NGINX as load balancer

  • The link to the tutorial is not working any more.
    – Chau
    Feb 10 '14 at 10:30

I know it's been long time for question but if you want something for windows then solution is ARR -> NLB

IIS ARR will do Content Caching, Reverse Proxy, SSL Offloading. It does not do load balancing for that you need to use NLB on web servers. But combination is this two is very powerful.

Also if you end up being implementing some sort of solution mention in this thread so users who stumble upon here can gain from your experience.

  • 1
    Yes, ARR is it -- and ARR is "Application Request Routing" for IIS, iis.net/download/applicationrequestrouting
    – Jesper M
    May 18 '10 at 4:08
  • 1
    ARR struggles to do single machine load balancing. While you can direct traffic between two different machines (and one of them can be the proxy itself), you dont have the find grained control that you have with HAPROXY in being able to simply point it at addresses.
    – Doug
    Jan 3 '13 at 12:52

I have faced a similar situation and this works for me, is the same daemon you can find in Linux for Windows: http://mattiasgeniar.be/2010/04/14/tcp-traffic-redirection-on-windows/ http://www.boutell.com/rinetd/

  • It looks like the last update to rinetd was in April of 2003, more than 11 years ago. Considering it claims to run on Windows 95/98/NT I'll pass Jul 17 '15 at 0:51

I understand that the question is really old, but some people may still face the same problem. So the easiest solution is Cygwin. Example is here http://zcourts.com/2012/09/29/install-haproxy-on-windows-cygwin-good-for-testing/#sthash.PhJ3odwn.dpbs

  • 1
    While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes.
    – kasperd
    Oct 20 '15 at 15:09

Not the answer you're looking for? Browse other questions tagged or ask your own question.