Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Core
  3. ProxyKit

ProxyKit

Apache-2.0C#v2.3.4

A toolkit for creating code-first HTTP reverse proxies as middleware in ASP.NET Core applications.

GitHubGitHub
1.1k stars136 forks0 contributors

What is ProxyKit?

ProxyKit is a toolkit for creating HTTP reverse proxies as middleware in ASP.NET Core applications. It enables developers to build code-first proxies that can forward requests, handle WebSocket connections, and apply custom logic like header manipulation or load balancing. It solves the need for embedding proxy functionality directly into .NET web apps without relying on external proxy servers.

Target Audience

ASP.NET Core developers who need to implement reverse proxy functionality within their applications, such as for API gateways, microservice routing, or custom request forwarding scenarios.

Value Proposition

Developers choose ProxyKit for its seamless integration with ASP.NET Core, code-first flexibility, and ability to handle complex proxying logic like custom routing and load balancing directly in C#. It is deployable anywhere ASP.NET Core runs, including containers and serverless environments.

Overview

A toolkit to create code-first HTTP reverse proxies on ASP.NET Core

Use Cases

Best For

  • Embedding reverse proxy functionality into existing ASP.NET Core applications
  • Building custom API gateways with dynamic routing rules
  • Implementing load balancing across multiple backend services
  • Proxying WebSocket connections in .NET environments
  • Adding X-Forwarded headers for proxy-aware upstream servers
  • Creating test proxies for development or staging environments

Not Ideal For

  • New ASP.NET Core projects requiring a future-proof reverse proxy solution
  • High-performance production environments where every microsecond of latency is critical
  • Serverless applications that need to efficiently proxy binary or large payloads in production
  • Projects needing advanced API gateway features like extensive message-based transformations

Pros & Cons

Pros

Code-First Flexibility

Allows defining reverse proxy logic directly in C# as ASP.NET Core middleware, enabling custom routing and header manipulation without external config files, as shown in the README's examples with ForwardContext.

Seamless ASP.NET Integration

Integrates with ASP.NET Core's dependency injection and uses HttpClientFactory to mitigate DNS caching issues, making it easy to deploy in containers and microservices environments.

WebSocket Proxying Support

Can forward WebSocket connections to upstream servers, which is essential for real-time applications and handled via UseWebSocketProxy with configurable options.

X-Forwarded Headers Management

Provides built-in methods like AddXForwardedHeaders and CopyXForwardedHeaders to simplify setup for proxy-aware upstream servers, supporting complex proxy chaining.

Cons

Obsolescent Project Status

The README explicitly marks ProxyKit as obsolescent and recommends migrating to YARP, indicating no future updates or support, which is a major drawback for new projects.

Serverless Performance Limitations

In serverless environments, it buffers messages and may encode binary data as Base64, making it unsuitable for high-performance or non-API proxying in production, as noted in the 'Note about serverless' section.

Limited Load Balancing Options

Currently only supports weighted round-robin load balancing, with other types merely planned, limiting flexibility for complex distribution needs compared to more feature-rich proxies.

Frequently Asked Questions

Quick Stats

Stars1,115
Forks136
Contributors0
Open Issues0
Last commit5 years ago
CreatedSince 2018

Tags

#http-proxy#reverse-proxy#proxy#serverless#csharp#websocket#dotnet#aspnet-core#dotnet-core#microservices#aspnetcore#load-balancing#middleware

Built With

.
.NET Standard 2.0
A
ASP.NET Core

Included in

Core21.2k
Auto-fetched 6 hours ago

Related Projects

PollyPolly

Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+.

Stars14,212
Forks1,275
Last commit3 days ago
OcelotOcelot

.NET API Gateway

Stars8,714
Forks1,683
Last commit15 hours ago
AspNetCore.Diagnostics.HealthChecksAspNetCore.Diagnostics.HealthChecks

Enterprise HealthChecks for ASP.NET Core Diagnostics Package

Stars4,369
Forks865
Last commit1 month ago
FoundatioFoundatio

Pluggable foundation blocks for building distributed apps.

Stars2,095
Forks251
Last commit9 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub