【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)
2021-05-30 20:56
411 查看
问题描述
Azure API Management 是否可以通过请求中的Path来限定其被访问的频率? 在系统Request中发现某个Path 在短时间内被频繁的调用,影响了后台服务的性能及安全,所以想限制在一定时间内允许被调用(Call)的次数,如1秒钟一次。如被限制的URL Path的格式为:/api/prodregist/00001。
而在Azure APIM的Policy设定文档中,可以通过设定” 按密钥限制调用速率 “ 来限制客户端的访问。同理,可以根据该文档示例写出能限制URL Path的表达式。
解决办法
在APIM中设定访问限制API 入站策略(Inbound Policy)。 如下的内容就是对URL = ”https://testapi.azure-api.cn/prodregist/sessions“ 进行了每一秒钟call一次的限制。renewal-period = “1” 表示一秒钟。
<rate-limit-by-key
calls="1"
renewal-period="1"
counter-key="@(context.Request.OriginalUrl.ToString())"
increment-condition="@(context.Request.OriginalUrl.ToString()=="https://testapi.azure-api.cn/prodregist/sessions")"
/>
在API的策略设置页面添加的位置如下图所示:
同理,如果需要对客户端的IP地址进行限制,可以使用如下表达式:
参考资料
APIM管理访问限制策略(按密钥限制调用速率) :https://docs.microsoft.com/zh-cn/azure/api-management/api-management-access-restriction-policies#limit-call-rate-by-key
相关文章推荐
- 【Azure API 管理】在 Azure API 管理中使用 OAuth 2.0 授权和 Azure AD 保护 Web API 后端,在请求中携带Token访问后报401的错误
- 记一次vue打包之后动态修改请求根路径 vue-cli2.x 有效 开发阶段通过动态代理请求访问后台
- 【Azure API 管理】从微信小程序访问APIM出现200空响应的问题中发现CORS的属性[terminate-unmatched-request]功能
- 【Azure API 管理】APIM CORS策略设置后,跨域请求成功和失败的Header对比实验
- 通过 SQL 访问 DB2 管理 API
- net Core 通过 Ef Core 访问、管理Mysql
- 通过http请求访问webservice
- Tomcat 7.0-如何通过Web访问控制平台和管理平台
- 通过JAVA—API访问HDFS 上的文件
- 【SpringMVC】限定某个业务控制方法,只允许GET或POST请求方式访问(十二)
- 通过httpclient来访问请求地址,将内容转化为map对象
- csrf攻击过程 csrf攻击说明 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站
- 虚拟化平台发布的应用程序必须通过RDP桌面登陆一次后才可访问
- 使用OGNL通过请求对象访问bean属性
- Google Directions API通过请求获取导航数据简介
- 简单的C中通过LUA API访问LUA脚本变量
- Google Directions API通过请求获取导航数据简介
- 实战DeviceIoControl 之一:通过API访问设备驱动程序
- 实战DeviceIoControl系列 之一:通过API访问设备驱动程序
- 通过Yahoo+Search+API访问Web服务实现自己的搜索引擎