AspNetCoreRateLimit是一个用于ASP.NET Core应用程序的速率限制中间件。默认情况下,它会考虑查询参数作为匹配规则的一部分。如果您想要在匹配规则时不考虑查询参数,可以按照以下步骤进行设置:
services.Configure(options =>
{
options.EnableEndpointRateLimiting = true;
options.EndpointRules = new List
{
new EndpointRule
{
Endpoint = "*",
Limit = 100,
Period = "1m",
ExcludeQueryString = true // 设置为true以排除查询参数
}
};
});
app.UseIpRateLimiting();
这样设置后,AspNetCoreRateLimit将不会考虑查询参数作为匹配规则的一部分,而只会根据请求的路径进行匹配。
注意:以上示例中的代码片段是基于AspNetCoreRateLimit 3.0.2版本。您可能需要根据您使用的版本进行适当的调整。