检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
方案概述 应用场景 当在公网中调用APIG上公开的业务API时,如果不限制API调用的次数,随着用户的不断增加,会引起后端性能的下降,甚至会因为恶意用户发送的大量请求导致网站或程序崩溃。APIG提供了传统策略:流量控制,从API、用户、凭据、源IP等多个维度进行流控。
已安装IDEA 2022.2.1,如果未安装,请至IDEA官方网站下载。 已安装Java Development Kit 1.8.111或以上版本,如果未安装,请至Oracle官方下载页面下载。暂不支持Java Development Kit 17或以上版本。
已安装IntelliJ IDEA 2018.3.5或以上版本,如果未安装,请至IntelliJ IDEA官方网站下载。 已安装PHP安装包8.0.3或以上版本,如果未安装,请至PHP官方下载页面下载。
已安装Visual Studio 2019 version 16.8.4或以上版本,如果未安装,请至Visual Studio官方网站下载。 获取SDK 请登录API网关控制台,参考《API网关用户指南》的“SDK”章节,进入SDK页面并下载SDK。
已安装Android Studio 4.1.2或以上版本,如果未安装,请至Android Studio官方网站下载。 获取SDK 请登录API网关控制台,参考《API网关用户指南》的“SDK”章节,进入SDK页面并下载SDK。
添加用户网站的防护域名和域名绑定的证书。如果没有域名,请参考域名注册服务注册域名;证书可通过云证书管理服务申请。 填写的域名须备案,如果没有备案,请参考域名备案。 选择实例与线路。 选择已购买的实例,单击“提交并继续”。 单击“下一步”。 单击“完成”。
表1 API网关的错误响应类型 错误说明 默认的响应状态码 详细说明 拒绝访问 403 拒绝访问,如触发配置的访问控制策略、或异常攻击检测拦截 自定义认证配置错误 500 自定义认证方异常,通信失败、返回异常响应等错误 自定义认证失败 500 自定义认证方返回认证失败 自定义认证身份来源错误
进入WAF控制台,单击“网站设置 > 添加防护网站”,即可配置防护域名。配置“源站地址”时,需要填写API分组的域名,并添加证书。添加域名后,还需执行放行回源IP、本地验证、修改域名DNS解析设置。详细操作步骤请参考网站接入WAF(云模式)。
API网关流量控制2.0策略 当在公网中调用APIG上公开的业务API时,如果不限制API调用的次数,随着用户的不断增加,会引起后端性能的下降,甚至会因为恶意用户发送的大量请求导致网站或程序崩溃。
已安装IntelliJ IDEA 2022.2.1或以上版本,如果未安装,请至IntelliJ IDEA官方网站下载。 已在IntelliJ IDEA中安装Go插件,如果未安装,请按照图1所示安装。
已安装IntelliJ IDEA 2018.3.5或以上版本,如果未安装,请至IntelliJ IDEA官方网站下载。 已在IntelliJ IDEA中安装Python插件,如果未安装,请按照图1所示安装。
表1 API网关的错误响应类型 错误说明 默认的响应状态码 详细说明 拒绝访问 403 拒绝访问,如触发配置的访问控制策略、或异常攻击检测拦截 自定义认证配置错误 500 自定义认证方异常,通信失败、返回异常响应等错误 自定义认证失败 500 自定义认证方返回认证失败 自定义认证身份来源错误
BACKEND_TIMEOUT: 后端超时,与后端的网络交互超过预配置的时间错误 THROTTLED: API调用次数超出所配置的流量策略阈值 UNAUTHORIZED: 使用的凭据未被授权访问该API ACCESS_DENIED: 拒绝访问,如触发配置的访问控制策略、或异常攻击检测拦截
BACKEND_TIMEOUT: 后端超时,与后端的网络交互超过预配置的时间错误 THROTTLED: API调用次数超出所配置的流量策略阈值 UNAUTHORIZED: 使用的凭据未被授权访问该API ACCESS_DENIED: 拒绝访问,如触发配置的访问控制策略、或异常攻击检测拦截
已安装IntelliJ IDEA 2018.3.5或以上版本,如果未安装,请至IntelliJ IDEA官方网站下载。 已在IntelliJ IDEA中安装Python插件,如果未安装,请按照图1所示安装。
已安装IntelliJ IDEA 2018.3.5或以上版本,如果未安装,请至IntelliJ IDEA官方网站下载。 已在IntelliJ IDEA中安装NodeJS插件,如果未安装,请按照图1所示安装。
BACKEND_TIMEOUT: 后端超时,与后端的网络交互超过预配置的时间错误 THROTTLED: API调用次数超出所配置的流量策略阈值 UNAUTHORIZED: 使用的凭据未被授权访问该API ACCESS_DENIED: 拒绝访问,如触发配置的访问控制策略、或异常攻击检测拦截
已安装Visual Studio 2019 version 16.8.4或以上版本,如果未安装,请至Visual Studio官方网站下载。 打开工程 双击SDK包中的“csharp.sln”文件,打开工程。
已安装IntelliJ IDEA 2018.3.5或以上版本,如果未安装,请至IntelliJ IDEA官方网站下载。 已安装Java Development Kit 1.8.111或以上版本,如果未安装,请至Oracle官方下载页面下载。