# optimalbits/redbird

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/optimalbits-redbird).**

4,412 stars · 275 forks · TypeScript · BSD-2-Clause

## Links

- GitHub: https://github.com/OptimalBits/redbird
- awesome-repositories: https://awesome-repositories.com/repository/optimalbits-redbird.md

## Description

Redbird is a Node.js reverse proxy used to route external network traffic to internal servers. It functions as a layer 7 load balancer that maps incoming requests from specific domains or hosts to target upstream servers, shielding backend services from direct public exposure.

The project features dynamic route management, allowing routing rules to be updated programmatically at runtime. It synchronizes these routes automatically by polling external sources such as Docker containers and etcd clusters to align proxy configurations with service lifecycles.

Additional capabilities include SSL and TLS termination with automated certificate renewal, round-robin load balancing, and WebSocket traffic forwarding. It also supports HTTP-to-HTTPS redirection, NTLM authentication header processing, and the PROXY protocol for retrieving original client addresses.

## Tags

### Networking & Communication

- [Layer 7 Traffic Routers](https://awesome-repositories.com/f/networking-communication/layer-7-traffic-routers.md) — Functions as a Layer 7 traffic router that maps incoming application-layer requests to target upstream servers.
- [Traffic Proxying](https://awesome-repositories.com/f/networking-communication/traffic-proxying.md) — Acts as a reverse proxy to intercept and route external network traffic to internal backend servers. ([source](https://github.com/optimalbits/redbird#readme))
- [Application Layer Load Balancing](https://awesome-repositories.com/f/networking-communication/application-layer-load-balancing.md) — Distributes incoming network traffic across multiple backend server instances using Layer 7 request routing logic.
- [Node.js Reverse Proxies](https://awesome-repositories.com/f/networking-communication/http-reverse-proxies/dynamic-reverse-proxies/node-js-reverse-proxies.md) — Implements a full reverse proxy solution specifically leveraging the Node.js runtime.
- [TLS Termination](https://awesome-repositories.com/f/networking-communication/service-meshes/tls-termination.md) — Handles the decryption of secure TLS connections at the ingress layer before forwarding traffic to backend services.
- [Traffic Routing](https://awesome-repositories.com/f/networking-communication/traffic-routing.md) — Implements mechanisms for directing network traffic to specific upstream services via proxy configurations. ([source](https://github.com/optimalbits/redbird#readme))
- [Dynamic Route Management](https://awesome-repositories.com/f/networking-communication/traffic-routing/node-aware-routing/gateway-routing/dynamic-route-management.md) — Provides APIs to add, modify, and delete gateway routes at runtime without requiring service restarts. ([source](https://github.com/optimalbits/redbird#readme))
- [Traffic Distribution](https://awesome-repositories.com/f/networking-communication/traffic-shaping/scaling/traffic-distribution.md) — Balances network requests across multiple backend instances to optimize resource use and maintain availability. ([source](https://github.com/optimalbits/redbird#readme))
- [WebSocket Proxy Tunnels](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/websocket-implementations/websocket-servers/websocket-proxy-tunnels.md) — Proxies WebSocket connections to upstream servers to maintain real-time bidirectional communication. ([source](https://github.com/optimalbits/redbird#readme))
- [Request Resolvers](https://awesome-repositories.com/f/networking-communication/domain-traffic-filters/custom-domain-resolvers/request-resolvers.md) — Allows the definition of custom resolvers to implement specialized routing logic based on request attributes. ([source](https://github.com/optimalbits/redbird#readme))
- [HTTP Request Redirections](https://awesome-repositories.com/f/networking-communication/traffic-redirection-tools/http-request-redirections.md) — Automatically reroutes insecure HTTP requests to their encrypted HTTPS counterparts.

### Data & Databases

- [Configuration Synchronization](https://awesome-repositories.com/f/data-databases/external-data-connectors/external-system-synchronization/configuration-synchronization.md) — Automatically synchronizes proxy routes by polling external sources such as Docker and etcd to align with service lifecycles.

### DevOps & Infrastructure

- [Distributed Configuration Synchronization](https://awesome-repositories.com/f/devops-infrastructure/cluster-configuration-management/cross-cluster-configuration-sync/routing-cache-synchronization/distributed-configuration-synchronization.md) — Synchronizes proxy routing rules automatically by polling an external etcd configuration cluster. ([source](https://github.com/optimalbits/redbird#readme))
- [Route Lifecycle Automation](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-orchestrators/docker-container-lifecycle-automation/route-lifecycle-automation.md) — Automatically creates and removes proxy routes based on the lifecycle of running Docker containers. ([source](https://github.com/optimalbits/redbird#readme))
- [Traffic Load Balancers](https://awesome-repositories.com/f/devops-infrastructure/traffic-load-balancers.md) — Distributes incoming traffic across multiple backend servers using a round-robin algorithm to ensure high availability. ([source](https://github.com/optimalbits/redbird#readme))
- [Round-Robin Load Balancers](https://awesome-repositories.com/f/devops-infrastructure/worker-process-management/round-robin-load-balancers.md) — Distributes incoming network traffic across a pool of backend servers using a round-robin scheduling algorithm.
- [Unified Cluster Scaling](https://awesome-repositories.com/f/devops-infrastructure/cluster-scaling-orchestrators/federated-cluster-scaling/unified-cluster-scaling.md) — Increases system throughput and reliability by spawning multiple worker processes and automatically restarting failed threads. ([source](https://github.com/optimalbits/redbird#readme))
- [Docker Route Synchronization](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-orchestrators/docker-container-lifecycle-automation/docker-route-synchronization.md) — Automatically creates and updates proxy routes based on the lifecycle of running Docker containers.
- [Process Clustering](https://awesome-repositories.com/f/devops-infrastructure/worker-process-management/process-clustering.md) — Implements a cluster-based architecture to distribute network load and ensure high availability via automatic process restarts.

### Security & Cryptography

- [SSL/TLS Connection Security](https://awesome-repositories.com/f/security-cryptography/ssl-tls-connection-security.md) — Provides a secure transport layer that terminates SSL/TLS connections using custom or automated certificates. ([source](https://github.com/optimalbits/redbird#readme))
- [Certificate Renewal Managers](https://awesome-repositories.com/f/security-cryptography/certificate-renewal-managers.md) — Automatically generates and renews security certificates through an external authority to maintain encrypted connections. ([source](https://github.com/optimalbits/redbird#readme))
- [SSL/TLS Termination](https://awesome-repositories.com/f/security-cryptography/cryptography/ssl-tls-certificate-management/ssl-tls-termination.md) — Handles secure encrypted connections and provides automated certificate renewal to protect data between clients and backends.

### Software Engineering & Architecture

- [Request Destination Resolution](https://awesome-repositories.com/f/software-engineering-architecture/request-destination-resolution.md) — Implements logic to resolve the correct internal target server based on incoming request paths, headers, or domain patterns.

### Web Development

- [Dynamic Route Updating](https://awesome-repositories.com/f/web-development/routing-systems/routing/route-definition-strategies/application-route-definitions/dynamic-route-updating.md) — Allows routing rules to be updated programmatically at runtime to support zero-downtime configuration changes.
- [WebSocket Traffic Routers](https://awesome-repositories.com/f/web-development/real-time-web-architectures/websocket-backends/websocket-traffic-routers.md) — Forwards real-time bidirectional WebSocket connections from the client to the appropriate upstream backend hosts.
