# microsoft/reverse-proxy

**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/microsoft-reverse-proxy).**

9,526 stars · 918 forks · C# · MIT

## Links

- GitHub: https://github.com/microsoft/reverse-proxy
- Homepage: https://yarp.dot.net
- awesome-repositories: https://awesome-repositories.com/repository/microsoft-reverse-proxy.md

## Description

This project is an HTTP reverse proxy toolkit and programmable proxy engine designed for building high-performance network gateways. It functions as an HTTP request pipeline framework that allows for the interception and modification of network requests and responses.

The system provides an extensible core for developing specialized proxy applications, offering programmatic control over routing and traffic behavior. It enables the creation of custom reverse proxies through a flexible pipeline used to handle specialized request and response logic.

The toolkit covers network traffic management and HTTP traffic routing, directing incoming web requests to backend servers based on predefined rules. It supports the extension of the request pipeline via custom modules and configuration-driven routing to control the flow of data between clients and backend services.

## Tags

### Web Development

- [Reverse Proxies](https://awesome-repositories.com/f/web-development/reverse-proxies.md) — Provides a high-performance toolkit for developing custom reverse proxies to manage traffic and load balancing.
- [HTTP Routing](https://awesome-repositories.com/f/web-development/routing-systems/http-routing.md) — Directs incoming HTTP traffic to specific backend handlers based on request methods and paths.

### Development Tools & Productivity

- [Request-Response Middleware](https://awesome-repositories.com/f/development-tools-productivity/execution-middleware/request-response-middleware.md) — Enables the injection of custom logic into the bidirectional HTTP request-response cycle via pluggable middleware.

### Networking & Communication

- [Middleware-Based Request Pipelines](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/request-processing-architectures/request-processing/middleware-based-request-pipelines.md) — Processes network requests through a sequence of modular handlers that can modify or route traffic.
- [HTTP Gateways](https://awesome-repositories.com/f/networking-communication/http-gateways.md) — Acts as a high-performance gateway that routes and secures incoming HTTP traffic to internal services.
- [Pipeline Extensions](https://awesome-repositories.com/f/networking-communication/http-request-customization/pipeline-extensions.md) — Allows adding custom modules and logic to the proxy pipeline to modify or filter network traffic.
- [Proxy Rule Configurations](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-proxying-tools/network-proxies/proxy-rule-configurations.md) — Supports defining routing and proxy behavior using static configuration files or programmatic updates. ([source](https://github.com/microsoft/reverse-proxy#readme))
- [Proxy Engines](https://awesome-repositories.com/f/networking-communication/proxy-engines.md) — Provides an extensible engine for programmatically intercepting and modifying network traffic streams in real-time.
- [Request Pipeline Frameworks](https://awesome-repositories.com/f/networking-communication/request-pipeline-frameworks.md) — Provides a modular system for intercepting and modifying network requests and responses as they pass through the proxy.
- [Custom Proxy Frameworks](https://awesome-repositories.com/f/networking-communication/traffic-proxying/custom-proxy-frameworks.md) — Functions as a programmable framework for building proxies with custom routing and request manipulation logic. ([source](https://github.com/microsoft/reverse-proxy#readme))
- [Traffic Routing](https://awesome-repositories.com/f/networking-communication/traffic-routing.md) — Directs incoming network traffic to specific backend services using flexible proxy configurations. ([source](https://github.com/microsoft/reverse-proxy#readme))
- [Upstream Proxy Relaying](https://awesome-repositories.com/f/networking-communication/upstream-proxy-relaying.md) — Relays incoming HTTP requests to specific upstream server clusters based on resolved routing outcomes.
- [Network Traffic Management](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/network-traffic-management.md) — Controls the flow of data between clients and backend services through programmatic proxy configurations.

### System Administration & Monitoring

- [Configuration-Driven Routing Logic](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/proxy-management-systems/traffic-routing-controllers/configuration-driven-routing-logic.md) — Provides logic to determine backend destination servers by matching request properties against predefined rules.
- [Event-Driven I/O](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/connection-lifecycle-management/parallel-network-i-o/event-driven-i-o.md) — Implements an event-driven I/O model to handle high volumes of concurrent network connections efficiently.

### Part of an Awesome List

- [Developer Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/developer-utilities.md) — Toolkit for building fast proxy servers.
