Fabio is an HTTP and TCP reverse proxy that configures itself with data from Consul. Traditional load balancers and reverse proxies need to be configured with a config file. The configuration contains the hostnames and paths the proxy is forwarding to upstream services. This process can be automated with tools like consul-template that generate config files and trigger a reload. Fabio works differently since it updates its routing table directly from the data stored in Consul as soon as there is a change and without restart or reloading. When you register a service in Consul all you need to add is a tag that announces the paths the upstream service accepts, e.g. urlprefix-/user or urlprefix-/order and fabio will do the rest. Fabio was developed and maintained by Frank Schröder through January, 2020. Since that date primary maintenance has been the responsibility of ENA and the great community of users.

Features

  • Customizable access logs
  • Dynamic certificate stores like file system, HTTP server, Consul and Vault
  • Official Docker image, Registrator and Docker Compose example
  • Hot reloading of the routing table without downtime
  • Support for HA Proxy PROXY protocol for inbound requests (use for Amazon ELB)
  • Forward TLS connections based on hostname without re-encryption

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow Fabio

Fabio Web Site

Other Useful Business Software
Fully Managed MySQL, PostgreSQL, and SQL Server Icon
Fully Managed MySQL, PostgreSQL, and SQL Server

Automatic backups, patching, replication, and failover. Focus on your app, not your database.

Cloud SQL handles your database ops end to end. Migrate from on-prem or other clouds with free migration tools.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Fabio!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Go

Related Categories

Go Frameworks, Go Load Balancers, Go Reverse Proxy Server

Registered

2023-01-06