检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用APIG专享版的流量控制2.0策略实现API的精细流控操作流程 假设您对一个API有如下的流控诉求: 默认API流量限制为10次/60秒,用户流量限制为5次/60秒。 对请求头Header字段为“Host=www.abc.com”的限制为10次/60秒。 对请求方法为get且请求路径为“reqPath=
响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 请求示例 创建一个签名密钥并设置key和secret { "name" : "signature_demo", "sign_key" : "signkeysignkey"
调用API所使用的域名、请求方法、路径不正确。 比如创建的API为POST方法,您使用了GET方法调用。 比如访问的URL比API详情中的URL少一个“/”也会导致无法匹配上此API,例如http://7383ea59c0cd49a2b61d0fd1d351a619.apigw.region
PI被恶意调用。 设置访问控制策略 从IP地址(或地址区间)以及账号等不同维度,设置白名单/黑名单。 将API绑定流控策略,通过流控策略保护API。 API网关默认API流量控制为每秒200次,如果您的后端服务不能支撑单个API 200次/秒的调用请求,可设置流量控制策略,将限额调低。
生成AppCode 进入API网关控制台页面。 根据实际业务在左侧导航栏上方选择实例。 在左侧导航栏选择“API管理 > 凭据管理”。 单击凭据名称,进入凭据详情页面。 在“AppCodes”区域,单击“添加AppCode”。 根据下表参数说明,在弹窗中配置AppCode,完成后单击“确定”。
后端服务。您可以为凭据设置访问控制策略,允许/禁止某个IP地址的凭据访问API。 配置凭据的访问控制策略 进入API网关控制台页面。 根据实际业务在左侧导航栏上方选择实例。 在左侧导航栏选择“API管理 > 凭据管理”。 单击凭据名称,进入凭据详情页面。 在“访问控制策略”区域,单击“绑定”。
如果是域名,请确认域名能正确解析到后端服务IP地址。 后端超时时间设置不合理。 当后端服务没有在设置的后端超时时间内返回时,API网关提示后端服务调用失败。 在编辑API中增加后端超时时间,或缩小后端的处理时间。 如果“后端服务地址”在ECS(Elastic Cloud Server),EC
API,其创建过程和创建HTTP API一致。WebSocket是一种全双工通信协议,建立在单个TCP连接上,允许在客户端和服务器之间进行双向通信。WebSocket的设计旨在解决HTTP协议在实时性和交互性方面的不足。它广泛应用于实时聊天、在线游戏、金融行业的实时数据更新等场景。
访问控制策略是否设置正确。 是否超过了流量控制范围。系统默认的流控策略是单个API的访问不超过200次/秒,如果您未创建流控策略,API网关会执行默认流控策略。您可以在实例控制台“实例信息”页面中的“配置参数”页签下,通过修改“ratelimit_api_limits”参数来设置专享版API的默认流控策略。
护机制,即租户开放的API,需要对请求来源进行认证,不符合认证的请求直接拒绝访问。 其中,签名密钥就是API安全保护机制的一种。 租户创建一个签名密钥,并将签名密钥与API进行绑定,则API网关在请求这个API时,就会使用绑定的签名密钥对请求参数进行数据加密,生成签名。当租户的后
护机制,即租户开放的API,需要对请求来源进行认证,不符合认证的请求直接拒绝访问。 其中,签名密钥就是API安全保护机制的一种。 租户创建一个签名密钥,并将签名密钥与API进行绑定,则API网关在请求这个API时,就会使用绑定的签名密钥对请求参数进行数据加密,生成签名。当租户的后
用户可以定义不同的环境变量,用户在定义API时,在API的定义中使用这些变量,当调用API时,API网关会将这些变量替换成真实的变量值,以达到不同环境的区分效果。 环境变量定义在API分组上,该分组下的所有API都可以使用这些变量。 环境变量的变量名称必须保持唯一,即一个分组在同一个环境上不能有两个同名的变量
描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 orchestration_id 是 String 编排规则编号 请求参数 表2 请求Header参数
行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux系统为例在本地将已获取的AK/SK设置为环境变量。 打开终端,输入以下命令打开环境变量配置文件。 vi ~/.bashrc 设置环境变量,保存文件并退出编辑器。
tance_id}/api-groups 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,同一个服务的Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。 请求方法 HT
如果是创建新的API,在定义API请求时,打开“支持跨域(CORS)”开关。详细的使用指导,可参考简单请求。 图2 支持跨域 非简单请求的跨域访问 非简单请求的跨域访问需要在API的分组中创建一个“Method”为“OPTIONS”的API,作为预检请求。 预检请求API的参数设置,请参考以
密钥 支持英文,数字,“_”,“-”,“_”,“!”,“@”,“#”,“$”,“%”,且只能以英文或数字开头,8 ~ 64个字符。 说明: 只支持部分region自定义密钥值。 请求消息样例: { "app_secret": "app_secret_sample" }
用户可以定义不同的环境变量,用户在定义API时,在API的定义中使用这些变量,当调用API时,API网关会将这些变量替换成真实的变量值,以达到不同环境的区分效果。 环境变量定义在API分组上,该分组下的所有API都可以使用这些变量。 环境变量的变量名称必须保持唯一,即一个分组在同一个环境上不能有两个同名的变量
对某个凭据或租户进行特定的流控。 如果此策略在当前实例中不支持,可提交工单升级实例到最新版本。 约束与限制 同一个环境中,一个API只能被一个流量控制2.0策略绑定,但一个流量控制2.0策略可以绑定多个API。 如果一个API绑定流量控制策略后,继续绑定流量控制2.0策略,流量控制策略会失效。 参数流控的
密钥 支持英文,数字,“_”,“-”,“_”,“!”,“@”,“#”,“$”,“%”,且只能以英文或数字开头,8 ~ 64个字符。 说明: 只支持部分region自定义。 请求消息样例: { "app_secret": "app_secret_sample" } 响应消息