我已经使用 web.config 上的代码来强制执行动态 IP 限制,以拒绝 10 秒内的并发请求和同时拒绝 5 个请求的并发请求。
<security>
<dynamicIpSecurity denyAction="Unauthorized">
<denyByRequestRate enabled="true" maxRequest="10" RequestIntervalInMillisecond="10000"/>
<denyByConcurrentRequests enabled="true" maxConcurrentRequests="5"/>
</dynamicIpSecurity>
</security>
该应用程序是.net 4.7框架,它是一个MVC应用程序。 当我在 Azure Web App 上发布相同的内容时,它不起作用。
当我尝试使用相同的 Azure URL 在 Fiddler 上发送 35 之类的请求时,所有请求都以 200 OK 状态进行响应。
我已经尝试了 web.config 代码
<security>
<dynamicIpSecurity denyAction="Unauthorized">
<denyByRequestRate enabled="true" maxRequest="10" RequestIntervalInMillisecond="10000"/>
<denyByConcurrentRequests enabled="true" maxConcurrentRequests="5"/>
</dynamicIpSecurity>
</security>
<security>
<dynamicIpSecurity denyAction="Unauthorized">
<denyByRequestRate enabled="true" maxRequest="10" RequestIntervalInMillisecond="10000"/>
<denyByConcurrentRequests enabled="true" maxConcurrentRequests="5"/>
</dynamicIpSecurity>
</security>
您可以尝试下面的标签,看看它是否有效。 尝试请求间隔毫秒而不是请求间隔毫秒。
<security>
<dynamicIpSecurity denyAction="Unauthorized">
<denyByRequestRate enabled="true" maxRequest="10" requestedIntervalInMilliseconds="10000"/>
<denyByConcurrentRequests enabled="true" maxConcurrentRequests="5"/>
</dynamicIpSecurity>
</security>