How to Configure HAProxy http-request Rules
http-request rules manipulate HTTP requests before they reach backend servers. They are essential for setting correct client information. This guide walks through the specific troubleshooting steps to diagnose and resolve http-request issues.
Before You Begin
Before you begin, be sure to have the following in place:
- A Linux server with the relevant software installed
- Access to the command line interface
- Appropriate permissions (root or sudo)
Quick Fix
Wrong
No request header manipulation (backend sees original client data)
Wrong: Backend does not know client protocol
Right
http-request set-header X-Forwarded-Proto https if { ssl_fc }\nhttp-request add-header X-Cache-Status HIT
Right: Adding X-Forwarded-Proto and custom headers
Output
HTTP request rules:\n X-Forwarded-Proto: set to https if SSL\n X-Cache-Status: added to all requests
Prevention
To avoid future issues, follow these best practices:
- Use http-request set-header to replace existing headers
- Use http-request add-header to append values
- Use http-request del-header to remove sensitive headers
- Use http-request redirect for URL-based redirects
- Use http-request deny to block matching requests
DodaTech Tools
For further assistance with any of the above issues, consider using DodaTech consulting services or DodaTech tutorials for more in-depth guidance.
Common Mistakes with http request
- Non-exhaustive pattern matches that compile with warnings then crash at runtime
- Misunderstanding that
Stringis[Char]with poor performance for large text operations - Using
foldlinstead offoldl'causing stack overflow on large lists
These mistakes appear frequently in real-world HAPROXY code. DodaTech's contributors have identified these patterns through analysis of open-source projects and production systems.
Practice Exercise
Write a pure function that safely divides two integers using Maybe, then test it with edge cases like division by zero and negative numbers.
This exercise reinforces the concepts covered in this guide. Try implementing it before checking online solutions.
FAQ
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro