HAProxy Mastery: Load Balancing and Advanced Traffic Management

Duration: 14 Hours (2 Intensive Days) Focus: Configuration, ACLs, and Optimized Service Delivery


Day 1: Fundamentals, Configuration Syntax, and Global Tuning (7 Hours)

Module 1: Load Balancing Core Concepts ⚖️

  • Introduction to Load Balancing (Definition, necessity, and core principles).
  • The Role of the Load Balancer (Understanding the difference between simple reverse proxies and advanced load balancers).

Module 2: HAProxy Architecture and Feature Overview

  • Definition and Scope (What HAProxy is and is not—e.g., Layer 4/7, high performance).
  • Operational Mechanism (Understanding How HAProxy works in the network stack).
  • Core Capabilities (Comprehensive review of features including: Proxying, SSL/TLS offloading, Load balancing algorithms, High availability integration, Monitoring, and Server protection).
  • Traffic Management Primitives (Introduction to ACLs and conditions, Maps, Content switching, and Stick-tables for state persistence).
  • Logging and Statistics (Overview of Logging mechanisms and the built-in Statistics interface).

Module 3: Alternatives and HTTP Review

  • HA Proxy Alternatives (Brief comparison with other common solutions: Nginx, Apache, etc.).
  • HTTP Protocol Reminder (Review of the HTTP transaction model).
  • Request/Response Anatomy (Detailed look at the HTTP request and HTTP response structure, including the request/response lines and headers).

Module 4: Configuration File Syntax

  • File Format (Understanding the Configuration file format and section structure).
  • Syntax Rules (Quoting and escaping rules, use of Environment variables, and Time format).
  • Practical Examples (Review of foundational configuration structures).

Module 5: Global Parameters and Infrastructure

  • System Integrity (Configuring Process management and security parameters).
  • Performance Tuning (Optimizing settings for Performance tuning).
  • Debugging and Diagnostics (Configuring options for Debugging).
  • Cluster Management (Configuring Peers for synchronization and Mailers for notification).
  • Sizing and Acquisition (Sizing considerations and methods for How to get HAProxy).

Day 2: Advanced Configuration, ACLs, and Troubleshooting (7 Hours)

Module 6: Proxy Sections, Bind, and Server Options

  • Proxy Keywords (Understanding the Proxy keywords matrix and reference).
  • Listeners and Ports (Bind options for frontends, including SSL configuration).
  • Backend Servers (Server and default-server options for defining pool members).
  • Dynamic Resolution (Server DNS resolution and configuring the dedicated resolvers section).
  • Global Overview (Review of the complete flow from frontends to backends).

Module 7: ACLs and Sample Fetches (The Core Logic)

  • ACL Fundamentals (ACL basics and the syntax for comparison rules).
  • Matching Types (Matching booleans, integers, strings, regular expressions (regexes), and arbitrary data blocks).
  • Network Matching (Matching IPv4 and IPv6 addresses).
  • Condition Construction (Using ACLs to form conditions for traffic decisions).
  • Fetching Samples (Introduction to Fetching samples—extracting information from the request/session).
  • Contextual Samples (Fetching samples from Layer 4, Layer 5, Layer 6, and HTTP samples (Layer 7)).
  • Converters (Using Converters to modify sample output).
  • Internal State Samples (Fetching samples from internal states and Pre-defined ACLs).

Module 8: Traffic Manipulation and Persistence

  • Header Modification (HTTP header manipulation).
  • URL Management (HTTP rewriting and redirection).
  • Server Persistence (Implementing Stickiness via cookies and managing state with Stick-tables).
  • String Formatting (Using Formatted strings in logs and redirects).

Module 9: Logging and Diagnostics

  • Logging Levels and Formats (Understanding Log levels and standard formats: Default, TCP, HTTP, and Custom log format).
  • Advanced Logging (Disabling logging for successful connections, Timing events, and logging Session state at disconnection).
  • Data Capturing (Capturing HTTP cookies and Capturing HTTP headers).
  • Examples of Logs (Analysis of real-world log entries).

Module 10: Supported Filters and Advanced Features

  • Traffic Filters (Implementing supported filters: Trace for diagnostics, HTTP compression, and Cache).
  • External Integration (Introduction to Stream Processing Offload Engine (SPOE)).
  • Management Features (Advanced features including Management interfaces, System-specific capabilities, and Scripting integration).