
Bring up a HAProxy environment using a vagrant file to spin up a proxy and two Apache backends, with provisioning scripts to configure the VMs.
Configure HAProxy with a frontend and backend, set the listen IP and port, and use round-robin to balance traffic between two servers.
Learn how default backend and use backend work, how access lists create catch-all rules to forward traffic to web servers, and when to reload versus restart HAProxy.
Explore when to use tcp mode versus http mode in HAProxy, with a hands-on demo configuring frontends and backends, port choices, and a round-robin test.
Explore advanced HAProxy logging, including front-end and backend logs with local0, sampling, and silent options, plus capturing headers and user agents.
Explore axis list based access control in HAProxy. Learn to set path and query string, rewrite requests, and route to backends based on path, domain, and query parameters.
Learn to configure a simple HAProxy with two back-end servers, route traffic on port 80, and diagnose data isolation and login issues caused by separate databases.
Practice acl concepts in lab 1 by replicating example files to configure access lists, path matching, and backends, then test deny and permit rules with a proxy and logs.
Explore how HAProxy performs tcp-based and http-based health checks, tune fall and rise thresholds, and manage backends with track, primary, and backup servers.
Learn to manage ssl re-encryption between express and a proxy by handling private keys, passphrases, and certificates, including creating csrs, removing passphrases, and configuring ssl verify in proxy.
Configure HAProxy to use ssl passthrough, forwarding encrypted traffic to backends without terminating ssl, and require ssl on backend servers using tcp rather than http.
In this course, we will learn about Load balancer concepts and its advantages specifically HAProxy.
HAProxy is flexible, fast and reliable open source software which can provide us with reverse proxy and load balancing ability.
We will conceptually talk about different aspects of HAProxy and load balancing.For each topic we will bring up lab environments by Vagrant and practice what we have learned and we verify the results to meet our expectations.Our basic topic includes:
HAProxy installation
HAProxy basic configuration sections
HTTP mode
TCP mode
Non Default ports
We then move to more advanced topics including:
ACL
Logging
SSL termination
HA
Health check and server failure detection
I also added a section on how to automate HAProxy installation and configuration with Ansible at the end of the course(This section is completely optional).
The only prerequisite for this course is basic familiarity of Linux commands, and layers of TCP/IP stack specially TCP protocol and above.
You need a laptop with some tools installed including text editor of your choice,Vagrant,Virtual box.We may also install additional tool during some lectures.
This course is suitable for all system administrator who are willing to learn about load balancer and its applications.Even if you job requires you to work in cloud environment like AWS or Azure, you will gain solid understanding of LB and you could easily adjust your knowledge and apply it in those environments.