Get in Touch
 Duration 14 hours

Course Outline

1. Brief overview of load balancing and load balancers

2. Introduction to HAProxy

  1. Defining the scope of HAProxy (what it is and is not)
  2. Operational mechanics of HAProxy
  3. Core functionalities
    1. Proxying capabilities
    2. SSL support
    3. Monitoring tools
    4. High availability setups
    5. Load balancing strategies
    6. Session stickiness
    7. Data sampling and conversion
    8. Map management
    9. ACLs and conditional logic
    10. Content switching techniques
    11. Stick-tables implementation
    12. Formatted string handling
    13. HTTP rewriting and redirection
    14. Server protection mechanisms
    15. Logging configurations
    16. Statistical reporting
  4. Advanced capabilities
    1. Management functions
    2. System-specific features
    3. Scripting integration
  5. Sizing considerations
  6. Acquisition and installation methods

3. Alternative solutions to HAProxy

  1. a. Nginx
  2. b. Apache and other alternatives

4. Refresher on HTTP protocols

  • The HTTP transaction model
  • Structure of an HTTP request
  • The request line components
  • Request headers
  • Structure of an HTTP response
  • The response line components
  • Response headers

5. Setting up HAProxy

  1. Configuration file syntax
  2. Handling quotes and escape sequences
  3. Utilizing environment variables
  4. Time format specifications
  5. Practical configuration examples

6. Global configuration parameters

  1. Process management and security settings
  2. Performance optimization techniques
  3. Debugging features
  4. Userlist definitions
  5. Peer configuration
  6. Mailer setup

7. Proxy configuration

  1. Matrix of proxy keywords
  2. Alphabetical reference for keywords

8. Bind and server configurations

  1. Bind directive options
  2. Server and default-server parameters
  3. Server DNS resolution settings
  4. Global overview of options
  5. Configuring the resolvers section

9. Manipulating HTTP headers

10. Implementing ACLs and sample fetching

  1. Fundamental ACL concepts
  2. Boolean matching rules
  3. Integer matching rules
  4. String matching rules
  5. Regular expression (regex) matching
  6. Matching arbitrary data blocks
  7. Matching IPv4 and IPv6 addresses
  8. Constructing conditions using ACLs
  9. Techniques for fetching samples
  10. Using converters
  11. Fetching samples from internal states
  12. Layer 4 sample fetching
  13. Layer 5 sample fetching
  14. Fetching samples from buffer contents (Layer 6)
  15. Fetching HTTP samples (Layer 7)
  16. Pre-defined ACLs

11. Logging configuration

  1. Log severity levels
  2. Log format types
  3. Default log format
  4. TCP log format
  5. HTTP log format
  6. Custom log formats
  7. Error log format
  8. Advanced logging options
  9. Suppressing logs for external tests
  10. Logging prior to session termination
  11. Elevating log levels during errors
  12. Disabling logs for successful connections
  13. Timing event logging
  14. Session state at disconnection
  15. Handling non-printable characters
  16. Capturing HTTP cookies
  17. Capturing HTTP headers
  18. Log examples

12. Supported filters

  1. Trace filter
  2. HTTP compression
  3. Stream Processing Offload Engine (SPOE)
  4. Cache management
  5. Limitations, SetupCache section
  6. Proxy section configurations

Requirements

  • Solid knowledge of Linux systems and fundamental command-line usage
  • Practical experience in server administration, including configuration and monitoring tasks
  • Proficiency with networking concepts, particularly HTTP and TCP/IP protocols

Target Audience

  • System administrators tasked with overseeing server infrastructure
  • Network engineers aiming to deploy high-performance load balancing strategies
  • DevOps professionals focused on automating traffic management and service scaling

Number of participants


Price per participant (excl. VAT)

Testimonials (6)

Upcoming Courses

Related Categories