- Quickstart
- Features
- Access Control
- Access Logging
- Authorization
- BGP
- Certificate Stores
- Docker Support
- Dynamic Reloading
- Graceful Shutdown
- GRPC Proxy
- HTTP Compression
- HTTP Header Support
- HTTP Path Prepending
- HTTP Path Stripping
- HTTP Redirects
- HTTPS TCP-SNI Proxy
- HTTPS Upstream
- Metrics
- PROXY Protocol Support
- Server Sent Events (SSE)
- TCP Dynamic Proxy
- TCP Proxy
- TCP-SNI Proxy
- Traffic Shaping
- Vault Support
- Web UI
- Websockets
- Deployment
- Config Language
- Reference
- FAQ
- Contributing
- Code of Conduct
- Contact
Traffic Shaping
fabio allows to control the amount of traffic a set of service instances willreceive. You can use this feature to direct a fixed percentage of traffic to anewer version of an existing service for testing (“Canary testing”). SeeManual Overrides for a complete description of theroute weight
command.
The following command will allocate 5% of traffic towww.kjca.dev/auth/
toall instances ofservice-b
which match tagsversion-15
anddc-fra
. Thisis independent of the number of actual instances running. The remaining 95%of the traffic will be distributed evenly across the remaining instancespublishing the same prefix.
route weight service-b www.kjca.dev/auth/ weight 0.05 tags "version-15,dc-fra"
Vault Example
Vault is a tool byHashiCorp for managing secrets and protecting sensitive data. When running in HA mode, Vault will have a single active node which is responsible for responding the API requests. Fabio can be used to ensure traffic is routed to the correct server via traffic shaping.
The following command will allocate 100% of traffic tovault.company.com
to the instance ofvault
which is registered with the tagactive
.
route weight vault vault.company.com weight 1.00 tags "active"