出于SSR的目的,我正在运行一个API和一个前端节点服务器。使用App Services,一切都在Azure上。
节点服务器和客户端均向API发出请求。
我正在尝试在API的web.config中应用“ dynamicIpSecurity”,但不希望该安全设置限制我的节点服务器IP,因为它是受信任的“客户端”。
目标是通过此设置限制所有其他客户端IP,以防客户端决定在没有我允许的情况下尝试欺骗我或对API进行负载测试。
我目前已注释掉动态IP安全设置,但这就是它们的外观。
<dynamicIpSecurity>
<!--Restricting single IP to make maximum of 20 concurrent request at a time-->
<denyByConcurrentRequests enabled="true" maxConcurrentRequests="20" />
<!--Restricting single IP NOT to make more than 50 requests within 3 seconds duration-->
<denyByRequestRate enabled="true" maxRequests="50" requestIntervalInMilliseconds="3000"/>
</dynamicIpSecurity>
答案 0 :(得分:0)
在article中,<dynamicIpSecurity>
只能使用denyByConcurrentRequests
和denyByRequestRate
来阻止基于The number of concurrent requests
的IP地址的请求,或者
The number of requests over a period of time
。
尽管article说过,<dynamicIpSecurity>
可能Allow list of IP addresses that will not be blocked
。但是,在web.config中无法配置,只能在IIS中完成。
因此,如果您仍然想定义基于IP的安全限制列表,则可以使用<ipSecurity>
,如下所示:
<security>
<ipSecurity allowUnlisted="true">
<add ipAddress="192.168.100.1" />
<add ipAddress="169.254.0.0" subnetMask="255.255.0.0" />
</ipSecurity>
<dynamicIpSecurity enableLoggingOnlyMode="true">
<denyByConcurrentRequests enabled="true" maxConcurrentRequests="10" />
<denyByRequestRate enabled="true" maxRequests="30"
requestIntervalInMilliseconds="300" />
</dynamicIpSecurity>
</security>