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).