What are the differences between HAProxy and Nginx when it comes to their abilities as a reverse proxy?

up vote 38 down vote accepted

HAProxy is really just a load balancer/reverse proxy. Nginx is a Webserver that can also function as a reverse proxy.

Here are some differences:

HAProxy:

  • Does TCP as well as HTTP proxying (SSL added from 1.5-dev12)
  • More rate limiting options
  • The author answers questions here on Server Fault ;-)

Nginx:

  • Supports SSL directly
  • Is also a caching server

At Stack Overflow we mainly use HAProxy with nginx for SSL offloading so HAProxy is my recommendation.

I use nginx to frontend HAProxy, but only for SSL termination.

HAProxy is a much more tunable and manageable load balancer (in my experience).

I also incorporate Varnish for static object caching. (as a specific backend of HAProxy)

See this Server Fault question for more info. Ordering nginx/varnish/haproxy

  • 3
    The newest (September 2012) unstable builds of HAProxy now support SSL. (potentially removing my need to run nginx) – Joel K Oct 1 '12 at 0:12

If needed only for load balancing HA proxy is better. But combining both nginix and HA proxy can be more useful, as nginix is fast in providing static content, it will serve all request for static data and then send all request to HA proxy which serve as load balancer and send request to web server to serve request by balancing load.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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