Trafik - A Modern Reverse Proxy

  •        562

Træfik (pronounced like traffic) is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker, Swarm mode, Kubernetes, Marathon, Consul, Etcd, Rancher, Amazon ECS, and a lot more) to manage its configuration automatically and dynamically.



Related Projects


Træfɪk is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker 🐳, Swarm 🐳🐳, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) to manage its configuration automatically and dynamically.The web UI http://localhost:8080 will give you an overview of the frontends/backends and also a health dashboard.

Kong - The Microservice API Gateway

Kong is a cloud-native, fast, scalable, and distributed Microservice Abstraction Layer (also known as an API Gateway, API Middleware or in some cases Service Mesh). Backed by the battle-tested NGINX with a focus on high performance, Kong was made available as an open-source platform in 2015. Under active development, Kong is used in production at thousands of organizations from startups, Global 5000 and Government organizations.

rocky-consul - Rocky middleware for service discovery and dynamic traffic balancing using Consul

rocky middleware to easily setup a reverse HTTP proxy with service discovery and load balancer using Consul.Essentially, this middleware will ask to Consul on every interval (configurable) to retrieve a list of URLs of a specific service (e.g: API, CDN, storage), and then them will be provided to rocky in order to balance the incoming HTTP traffic between those URLs.

beethoven - Mesos/Marathon, Docker Swarm HTTP Proxy via NGINX

Beethoven is an application written in Go that automatically configures Nginx for applications deployed on Marathon/Mesos or Docker Swarm. Beethoven runs in Docker and can be managed by the scheduler to provide HTTP loadbalancing.Beethoven runs in your cluster as a container managed by Marathon or Docker Swarm Mode. This allows for horizontal scaling across the cluster. Supervisor is leveraged to manage both Nginx and Beethoven since we are running two executables in a single container.

fabio - A fast, modern, zero-conf load balancing HTTP(S) router for deploying microservices managed by consul

fabio is a fast, modern, zero-conf load balancing HTTP(S) and TCP router for deploying applications managed by consul.Register your services in consul, provide a health check and fabio will start routing traffic to them. No configuration required. Deployment, upgrading and refactoring has never been easier. It integrates with Consul, Vault, Amazon ELB, Amazon API Gateway and more.

embassy - Docker Proxy / Load balancer - auto-wiring for container services (marathon | consul | etcd)

Embassy runs on a 'single' tcp port (default 9999) with iptables dnatting/redirecting virtual ip (the docker0 bridge ip by default) traffic and load balancing the traffic to the backends.Embassy presently supports the following providers to pull endpoints from. Note; how you get your endpoints into them is up to you, though examples are referenced throughout this README.

rocky - Full-featured, middleware-oriented, programmatic HTTP and WebSocket proxy for node.js

A multipurpose, full-featured, middleware-oriented and hackable HTTP/S and WebSocket proxy with powerful built-in features such as versatile routing layer, traffic interceptor and replay to multiple backends, built-in balancer, traffic retry/backoff logic, hierarchical configuration, among others. Built for node.js/io.js.rocky can be fluently used programmatically or via command-line interface. It's framework agnostic, but you can optionally plug in with connect/express apps.

proxy - lightweight nginx based load balancer self using service discovery provided by registrator.

Factorish Proxy is a lightweight ( < 30mb ) container based on gliderlabs/alpine with nginx running as a http load balancer. It uses data collected from gliderlabs/registrator to create load-balancing pools for the specified services by writing out an nginx.conf using the confd templating engine.It's very simple to use, you simply pass in the etcd endpoint to connect to and list the services that you which to subscribe to and the port you want to proxy for it.

vulcand - Programmatic load balancer backed by Etcd

Vulcand is a programmatic extendable proxy for microservices and API management. It is inspired by Hystrix and powers Mailgun microservices infrastructure.Vulcand is focused on microservices and API use-cases.


#nginx-ssl-proxy This repository is used to build a Docker image that acts as an HTTP reverse proxy with optional (but strongly encouraged) support for acting as an SSL termination proxy. The proxy can also be configured to enforce HTTP basic access authentication. Nginx is the HTTP server, and its SSL configuration is included (and may be modified to suit your needs) at nginx/proxy_ssl.conf in this repository.This image is optimized for use in a Kubernetes cluster to provide SSL termination for other services in the cluster. It should be deployed as a Kubernetes replication controller with a service and public load balancer in front of it. SSL certificates, keys, and other secrets are managed via the Kubernetes Secrets API.

balance - Programmable HTTP reverse-proxy load balancer.

Programmable HTTP reverse-proxy load balancer.

gogo-proxy - A simple but powerful http & websocket reverse proxy written in Go

- **Simple:** - Implements `http.Handler` interface - Easy to write `Balancer`s for custom routing logic - Built-in balancing patterns (`Roundrobin`, `Random`, etc ...) - **Robust:** Retry requests on failure - **Flexible:** - Custom error handling (so you can draw custom error pages etc ...) (use `ErrorHandler`) - Custom request rewriting (use `Rewriter`) - Your `Balancer` lookups can use information from the request, hard coded rules or they can query *databases* such as

muguet - DNS Server & Reverse proxy for Docker - Compatible with docker-compose, boot2docker and docker-machine

When using Docker, it's sometimes a pain to access your containers using specific IPs/ports. Muguet provides you with a DNS Server that resolves auto-generated hostnames to your containers IPs, plus a Reverse Proxy to access all your web apps on port 80.

docker-elb-consul - This Docker container allows you to (de)register EC2 instances belonging to a specific Consul service with an Amazon Elastic Load Balancer (ELB)

This Docker image allows you to (de)register EC2 instances belonging to a specific Consul service with an Amazon Elastic Load Balancer (ELB).The elb-consul image takes all of its configuration from environment variables.

Nginx - HTTP and reverse proxy server

Nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. It supports accelerated reverse proxying with caching, simple load balancing and fault tolerance, SSL and TLS SNI support, Name-based and IP-based virtual servers and lot more.

OpenLiteSpeed - High performance, lightweight, HTTP server

OpenLiteSpeed is a high-performance, lightweight, open source HTTP server developed and copyrighted by LiteSpeed Technologies. It is event driven and it can handle hundreds of thousands of concurrent connections without load spikes.

h2o-proxy - Automated H2O reverse proxy for Docker containers. An alternative jwilder/nginx-proxy.

Automated H2O reverse proxy for Docker containers. An alternative jwilder/nginx-proxy.h2o-proxy sets up a container running H2O and docker-gen. docker-gen generates reverse proxy configs for H2O and reloads H2O use start_server when containers are started and stopped.

marathon-consul - Integrates Marathon apps with Consul service discovery.

Register Marathon Tasks as Consul Services for service discovery.marathon-consul takes information provided by the Marathon event bus and forwards it to Consul agents. It also re-syncs all the information from Marathon to Consul on startup and repeats it with given interval.

spilo - Highly available elephant herd: HA PostgreSQL cluster using Docker

Spilo is a Docker image that provides PostgreSQL and Patroni bundled together. Patroni is a template for PostgreSQL HA. Multiple Spilos can create a resilient High Available PostgreSQL cluster. For this, you'll need to start all participating Spilos with identical etcd addresses and cluster names.Spilo's setup assumes that you've correctly configured a load balancer (HAProxy, ELB, Google load balancer) that directs client connections to the master. There are two ways to achieve this: A) if the load balancer relies on the status code to distinguish between the healthy and failed nodes (like ELB), then one needs to configure it to poll the API URL; otherwise, B) you can use callback scripts to change the load balancer configuration dynamically.

pound - The Pound program is a reverse proxy, load balancer and HTTPS front-end for Web server(s).

The Pound program is a reverse proxy, load balancer and HTTPS front-end for Web server(s).