Tuesday, October 18, 2016

// // Leave a Comment

How To Set Nginx as Load Balancer for CDN

Before Starting to set HaProxy, we need to setup 2 or more servers to set in the Load Balancer. Lets assume that we have set 3 servers with Nginx on them. In all servers modify the “add_header X-Proxy-Serve” line in order to name each server.

Now we have 3 servers and named them as CDN1, CDN2 and CDN3, we can now put a load balancer in front of them to complete our CDN setup.

Even though Nginx itself can be used as load balancer, we prefer to use HaProxy for our load balancer. On a new server, simply install Haproxy and modify haproxy.conf as follows:


When we start our HaProxy with this configuration, the requests will be equally distributed to our three Nginx servers. The configuration above assumes that Haproxy can communicate with Nginx servers on a private LAN. You can change these to public IPs if you don’t have a private network. In addition, you can view statistics of Haproxy on 9000 port to verify that each Nginx server is working on our simple CDN setup.