Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stefanprodan/AspNetCoreRateLimit
ASP.NET Core rate limiting middleware
https://github.com/stefanprodan/AspNetCoreRateLimit
asp-net-core middleware rate-limiting
Last synced: about 2 months ago
JSON representation
ASP.NET Core rate limiting middleware
- Host: GitHub
- URL: https://github.com/stefanprodan/AspNetCoreRateLimit
- Owner: stefanprodan
- License: mit
- Created: 2016-07-20T20:38:36.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-07-26T11:58:58.000Z (5 months ago)
- Last Synced: 2024-10-16T20:13:06.540Z (about 2 months ago)
- Topics: asp-net-core, middleware, rate-limiting
- Language: C#
- Homepage:
- Size: 398 KB
- Stars: 3,110
- Watchers: 71
- Forks: 446
- Open Issues: 184
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome - stefanprodan/AspNetCoreRateLimit - ASP.NET Core rate limiting middleware (C\#)
- awesome-dotnet-core - AspNetCoreRateLimit - ASP.NET Core rate limiting middleware. (Frameworks, Libraries and Tools / API)
- awesome-dotnet-core - AspNetCoreRateLimit - ASP.NET限速中间件。 (框架, 库和工具 / API)
- fucking-awesome-dotnet-core - AspNetCoreRateLimit - ASP.NET Core rate limiting middleware. (Frameworks, Libraries and Tools / API)
- awesome-dotnet-security - AspNetCoreRateLimit - Package that will let you set rate limits for your .NET Core Api. (Libraries)
- awesome-dotnet-core - AspNetCoreRateLimit - ASP.NET Core rate limiting middleware. (Frameworks, Libraries and Tools / API)
- awesome-dotnet-core-cn - AspNetCoreRateLimit - 功能强大且灵活的限额中间件,支持按IP,ID,时间段设定。 (算法与数据结构 / API)
README
AspNetCoreRateLimit
==============AspNetCoreRateLimit is an ASP.NET Core rate limiting solution designed to control the rate of requests that clients can make to a Web API or MVC app based on IP address or client ID. The [AspNetCoreRateLimit package](https://www.nuget.org/packages/AspNetCoreRateLimit/) contains an IpRateLimitMiddleware and a ClientRateLimitMiddleware, with each middleware you can set multiple limits for different scenarios like allowing an IP or Client to make a maximum number of calls in a time interval like per second, 15 minutes, etc. You can define these limits to address all requests made to an API or you can scope the limits to each API URL or HTTP verb and path.
[![Build status](https://ci.appveyor.com/api/projects/status/jrfxft7anqckn30s?svg=true)](https://ci.appveyor.com/project/stefanprodan/AspNetCoreRateLimit)
[![NuGet](https://img.shields.io/nuget/v/AspNetCoreRateLimit.svg)](https://www.nuget.org/packages/AspNetCoreRateLimit/)
[![NuGet](https://img.shields.io/nuget/v/AspNetCoreRateLimit.Redis.svg)](https://www.nuget.org/packages/AspNetCoreRateLimit.Redis/)
[![GitHub stars](https://img.shields.io/github/stars/stefanprodan/AspNetCoreRateLimit.svg)](https://github.com/stefanprodan/AspNetCoreRateLimit/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/stefanprodan/AspNetCoreRateLimit.svg)](https://github.com/stefanprodan/AspNetCoreRateLimit/network)
[![License: MIT](https://img.shields.io/github/license/stefanprodan/AspNetCoreRateLimit.svg)](https://opensource.org/licenses/MIT)[Built-in Rate Limiting support - part of .NET 7](https://github.com/stefanprodan/AspNetCoreRateLimit/issues/382)
**Documentation**
[Version 3.x.x Breaking Changes](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/Version-3.0.0-Breaking-Changes)
Rate limiting based on client IP
- [Setup and configuration](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/IpRateLimitMiddleware#setup)
- [Defining rate limit rules](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/IpRateLimitMiddleware#defining-rate-limit-rules)
- [Behavior](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/IpRateLimitMiddleware#behavior)
- [Update rate limits at runtime](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/IpRateLimitMiddleware#update-rate-limits-at-runtime)Rate limiting based on client ID
- [Setup and configuration](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/ClientRateLimitMiddleware#setup)
- [Defining rate limit rules](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/ClientRateLimitMiddleware#defining-rate-limit-rules)
- [Behavior](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/ClientRateLimitMiddleware#behavior)
- [Update rate limits at runtime](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/ClientRateLimitMiddleware#update-rate-limits-at-runtime)Advanced configuration
- [Customize the quota exceeded response](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/Quota-exceeded-response)
- [IP / ClientId resolve contributors](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/Resolve-Contributors)
- [Use Redis as a distributed counter store](https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/Using-Redis-as-a-distributed-counter-store)