Course Outline
1. Fundamental overview of load balancing and balancers
2. Getting to know HAProxy
- Defining the scope: what HAProxy does and does not handle
- Operational mechanics of HAProxy
-
Core functionalities
- Proxy operations
- SSL implementation
- System monitoring
- Ensuring high availability
- Traffic distribution
- Session stickiness
- Data sampling and transformation
- Mapping techniques
- ACLs and conditional logic
- Content-based switching
- Stick-tables usage
- Formatted string handling
- HTTP rewriting and redirects
- Server safeguarding measures
- Logging capabilities
- Statistical data
-
Advanced capabilities
- Management tools
- System-specific features
- Scripting integration
- Capacity planning and sizing
- Obtaining and installing HAProxy
3. Alternatives to HAProxy
- a. Nginx
- b. Apache and other solutions
4. Refresher on HTTP protocols
- Understanding the HTTP transaction lifecycle
- Structure of HTTP requests
- Anatomy of the request line
- Interpretation of request headers
- Composition of HTTP responses
- Details of the response line
- Analysis of response headers
5. Configuring HAProxy
- Understanding the configuration file syntax
- Handling quotes and escape characters
- Utilizing environment variables
- Time formatting conventions
- Practical configuration examples
6. Global settings
- Process control and security parameters
- Optimizing performance
- Debugging strategies
- User list definitions
- Peer configurations
- Mailer settings
7. Proxy definitions
- Overview of proxy keyword directives
- Reference for keywords arranged alphabetically
8. Bind and server directives
- Options for bind statements
- Server and default-server configuration options
- DNS resolution for servers
- Broad perspective on these settings
- Defining the resolvers section
9. Modifying HTTP headers
10. Implementing ACLs and sample extraction
- Fundamentals of ACLs
- Matching boolean values
- Matching integer data
- Matching string patterns
- Applying regular expressions (regex)
- Matching variable data blocks
- Matching IPv4 and IPv6 addresses
- Constructing conditions using ACLs
- Extracting sample data
- Applying converters
- Fetching samples from internal states
- Fetching samples at Layer 4
- Fetching samples at Layer 5
- Fetching samples from buffer contents (Layer 6)
- Fetching HTTP samples (Layer 7)
- Using built-in ACLs
11. Logging configuration
- Setting log severity levels
- Defining log formats
- Standard log format
- TCP-specific log format
- HTTP-specific log format
- Creating custom log formats
- Error logging format
- Advanced logging parameters
- Suppressing logs for external tests
- Logging prior to session termination
- Elevating log levels during errors
- Disabling logs for successful connections
- Tracking timing events
- Capturing session state at disconnect
- Handling non-printable characters
- Capturing HTTP cookies
- Capturing HTTP headers
- Illustrative log examples
12. Supported filters
- Trace filtering
- HTTP compression
- Stream Processing Offload Engine (SPOE)
- Caching mechanisms
- Limitations b. Setup Cache section
- Proxy section details
Requirements
- Solid comprehension of Linux systems and proficiency with basic command-line interfaces
- Practical experience in server administration, particularly in configuration and monitoring tasks
- Strong knowledge of networking fundamentals, specifically HTTP and TCP/IP protocols
Target Audience
- System administrators tasked with maintaining server infrastructure
- Network engineers aiming to deploy high-efficiency load balancing strategies
- DevOps professionals focused on automating traffic flow and service scalability
Testimonials (6)
the training on the job mode
PIERANDREA LAMBERTINI - Istituto Europeo di Oncologia Srl
Course - HAProxy Administration
knowledge about HAProxy
Marco - CloudFire
Course - HAProxy Administration
The possibility to try with labs
Mattia Bernardi - CloudFire
Course - HAProxy Administration
All the tips and tricks on how to improve our HA-proxy
Mattias Stendahl - Hoglandsforbundet
Course - HAProxy Administration
The trainer adapted his course to answer questions even if the questions where out of the course scope.
Mario Kuik - Netherlands Army
Course - HAProxy Administration
I really liked the rapport and connection that the trainer was able to achieve with the class. And that, on the fly, he was able to shape the class into the things we needed.