
Explore how a proxy acts as a tcp and http reverse proxy, ssl terminator, and load balancer, filtering traffic with normalizers and applying rate limits.
Understand why we use a proxy, with HAProxy as a fast, reliable load balancer and its monitoring tools. Note open source GPL version two license and redistribution with source access.
Learn how HAProxy accepts client connections and processes them, uses health checks to forward traffic only to healthy servers, and resumes routing when a server recovers.
Identify the front end and back end proxy components; the front end listens on an IP and port, while the back end manages a server pool and a scheduling algorithm.
Explore haproxy load balancing through various scheduling algorithms, including round robin, least connections, and source, plus url parameter, uri, and header based routing for http backends.
Learn how to configure HAProxy through the global, default, front end, and back end sections; set logging, timeouts, health checks, and a round-robin backend.
Set up three CentOS machines with two Apache web servers and an HAProxy proxy to demonstrate load balancing using round robin, backups, and various balancing algorithms.
Enable haproxy statistics to monitor server status, process id, uptime, memory and connection limits, and front-end and back-end health, including current connections, sessions, bytes, queue metrics, errors, and warnings.
Understand the difference between tcp and http modes in haproxy: tcp operates at the transport layer, while http carries header data for round robin routing.
Enable the forwardfor option on proxies to pass real client ips and configure Apache with x-forwarded-for to log the true visitors.
Explore how haproxy access lists use ACLs to make context-based routing decisions by matching host headers and URL patterns to forward requests to the static or www back ends.
Learn sticky sessions to address the proxy problem with http sessions. Compare cookie injection and header-based php session id methods to keep a user on the same server.
Learn how to terminate SSL at the proxy front end using Letsencrypt certificates, creating a PEM bundle, and configuring front end 443 to secure client connections while the backend remains HTTP.
Learn to build a high availability system by using pacemaker to run two proxy servers with shared config and a virtual IP that fails over between them.
Discover how HAProxy provides load balancing and fault tolerance across http and tcp protocols. Configure scheduling algorithms, statistics, ssl termination, and pacemaker integration to prevent single points of failure.
HAProxy is the most powerful solution used for Load Balancing and High Availability, it is open source, stable and reliable , it can be used to receive requests from your clients and to distribute theses requests among your servers.
This course is a crash course, you will be able to move from beginner to advanced HAProxy admin within 80 minutes. In this course you will learn the following topics:
Load Balancing Concepts and Preface
What is HAProxy
Why to Use HAProxy
HAProxy Tasks
Frontend and Backend concepts
Scheduling Algorithms
Configurations
Practical Example
Displaying Statistics and Monitoring
TCP and HTTP modes
ForwardFor Option
Access Lists
Sticky Sessions
SSL configurations
Avoiding Single Point Of Failure
Conclusion
Eventually, this will be a continuous course I am going to add any additional topics I think they are important, and any topics requested by students.
So, if you think that this course can be improved by adding any topics, then please let me know.