This is a Haproxy cookbook where we provide configuration files and other related material to run and use Haproxy for learning and working process, It's organized in 15 chapters. In bold you see the recipes that contain config and, ...:
If you want to participate, be sure to read how to participate.
This repository mostly contains information for this link, and is based on Haproxy 2.8 (LTS).
- 1.0 Introduction
- 1.1 Installing on Debian/Ubuntu
- 1.2 Installing on RedHat/Centos
- 1.3 Verifying Your Installation
- 1.4 KeyFiles, Directory, and Commands
- 2.0 Introduction
- 2.1 HTTP Load Balancing
- 2.2 TCP Load Balancing
- 3.0 Introduction
- 3.1 A/B Testing
- 3.2 Use the GeoIP Database With HAProxy
- 3.3 Restricting Access Based on Country haproxy
- 3.4 Finding the Original Client
- 3.5 Limiting Connections
- 3.6 Limiting Rate
- 3.7 Limiting Bandwidth
- 4.0 Introduction
- 4.1 Cache based on a condition
- 4.2 Cache restrictions
- 5.0 Introduction
- 5.1 Basic Authentication
- 5.2 Client Certificates
- 5.3 OAuth 2.0 Authorization
- 6.0 Introduction
- 6.1 Access Based on IP Address
- 6.2 Allowing Cross-Origin Resource Sharing
- 6.3 HTTPS Redirects
- 6.4 HAProxy SSL Termination
- 6.5 HTTP Strict Transport Security
- 7.0 Introduction
- 7.1 Basic Configuration
- 7.2 gRPC
- 8.0 Introduction
- 8.1 Using Haproxy as an API Gateway
- 8.2 Service discovery with SRV records
- 8.3 Using the Official Haproxy Image
- 8.4 Creating an Haproxy Dockerfile
- 8.5 Using Variables in Haproxy
- 8.6 Kubernetes Ingress Controller
- 8.7 Prometheus Exporter Module
- 9.0 Introduction
- 9.1 Email alerts
- 9.2 Error pages
- 9.3 Monitor URI
- 9.4 Prometheus metrics
This project is licensed under the MIT License. See the LICENSE file for details.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.