繁体   English   中英

Azure Web App上.NET Core Web API应用程序的动态IP地址限制

[英]Dynamic IP Address Restrictions for .NET Core Web API Application on azure Web App

我已经使用.net core 1.0“ version”:“ 1.0.5”开发了一个Web API应用程序,并在Azure Web应用程序上进行了部署。

当前,当用户同时点击该端点时,我面临API端点的问题。 因此,对于我的CPU / DTU百分比,增加到60到100以上。为此,当该用户同时命中API端点时,我应该限制该用户。 我不知道要限制那些IP。 我对这个问题很陌生。

谁能帮我解决这个问题?

注意:-当他同时访问API端点时,我应在有限的时间内阻止这些IP。

谢谢,

Parthiban。

您可以采取的措施是使用IIS 7.0提供的解决方案,该解决方案称为动态IP限制(DIPR)模块

动态IP限制(DIPR)的主要功能:

根据并发请求数阻止IP地址

根据一段时间内的请求数量阻止IP地址

若要在Azure网站中获得此服务,您需要在站点的web.config文件上配置一些更改。

1.用于处理并发请求的代码段

<system.webServer>
    <security>
        <dynamicIpSecurity>
            <denyByConcurrentRequests enabled="true" maxConcurrentRequests="10"/>
        </dynamicIpSecurity>
    </security>
</system.webServer>

denyByConcurrentRequests的enabled属性(在dynamicIpSecurity节点下)设置为true。 当客户端超过并发请求时,他们的IP将在短时间内暂时被阻止以供进一步请求。

2.用于在指定时间段内处理maxRequests的代码段:

<system.webServer>
   <security>
      <dynamicIpSecurity>
         <denyByRequestRate enabled="true" maxRequests="15" requestIntervalInMilliseconds="5000"/>
      </dynamicIpSecurity>
   </security>
</system.webServer>

设置denyByRequestRate的enabled属性。 属性maxRequests确定给定客户端IP地址可以发送到您的站点的请求数,而requestIntervalInMilliseconds确定时间范围。

当客户端超出您指定的规则时, IIS将自动开始阻止来自IP地址的请求 因此,根据我设置的值,客户端将在5秒钟内发出15个以上的请求,这将被暂时阻止。

如有疑问,可以参考如何在Windows Azure网站中配置动态IP地址限制

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM