云服务器内容精选

  • 添加特殊租户 在流控策略详情页面,单击“特殊租户”,进入特殊租户页面。 单击“添加特殊租户”,弹出“添加特殊租户”对话框。 输入租户信息。 图1 添加特殊租户 表2 特殊租户信息 信息项 描述 租户ID 绑定华为 IAM 认证的API时,租户ID填写API调用者的账号ID。 绑定APP认证的API时,租户ID填写APP所属者的项目ID。 您可以单击控制台右上角的用户名,选择“我的凭证”,在我的凭证页面获取用户的项目ID和账号ID。 阈值 “时长”时间内,此租户访问单个API次数的最大值。 不能大于“API流量限制”值。 单击“确定”,完成特殊租户的添加。
  • 配置参数说明 表1 配置参数说明 信息项 描述 策略名称 API流控策略名称。 类型 分“基础流控”和“共享流控”两类。 基础流控:针对单个API进行流量统计和控制。 共享流控:针对绑定了该策略的所有API进行总流量统计和控制。 时长 流量限制的时长。时长单位支持秒,分钟,小时,天。 与“API流量限制”配合使用,表示“时长”时间内的单个API请求次数上限。 与“用户流量限制”配合使用,表示“时长”时间内的单个用户请求次数上限。 与“凭据流量限制”配合使用,表示“时长”时间内的单个凭据请求次数上限。 与“源IP流量限制”配合使用,表示“时长”时间内的单个IP地址请求次数上限。 API流量限制 单个API被调用次数上限。 与“时长”配合使用,表示“时长”时间内的单个API请求次数上限。 用户流量限制 单个用户调用API次数上限,仅在API的安全认证方式为“华为IAM认证”时适用。 不能大于“API流量限制”的值。 与“时长”配合使用,表示“时长”时间内的单个用户请求次数上限。 如果主账号下有多个子用户访问API,按主账号累计的调用次数进行限制。 说明: 如果希望单独为某个用户添加流量控制策略,可以通过对该策略增加特殊租户实现,具体参考添加特殊租户。增加特殊租户后,此用户调用API次数的上限受增加特殊租户时设置的“阈值”限制,其他用户调用API次数的上限,仍然受本参数值限制。 凭据流量限制 单个凭据调用API次数上限,仅在API的安全认证方式为“APP认证”时适用。 不能大于“API流量限制”的值。 与“时长”配合使用,表示“时长”时间内的凭据请求次数上限。 说明: 如果希望单独为某个凭据添加流量控制策略,可以通过对该策略增加特殊应用实现,具体参考添加特殊应用。增加特殊应用后,此凭据调用API次数的上限受增加特殊应用时设置的“阈值”限制,其他凭据调用API次数的上限,仍然受本参数值限制。 源IP流量限制 单个IP地址调用API次数上限。 不能大于“API流量限制”的值。 与“时长”配合使用,表示“时长”时间内的IP地址请求次数上限。 描述 关于控制策略的描述。
  • 使用流程 图1 签名密钥流程图 在API中心管理控制台创建签名密钥。 将新创建的签名密钥绑定API。 API网关代理将签名后的请求发送到后端服务,此时Authorization头中包含签名信息。后端服务通过不同的开发语言(例如Java、Go、Python、JavaScript、C#、PHP、C++、C等)进行签名,通过比对签名结果和API网关代理传过来的Authorization头中签名是否一致,来校验API网关代理的合法性。
  • 配置参数说明 表1 配置参数说明 信息项 描述 密钥名称 自定义名称,用于识别不同的密钥。 类型 选择签名密钥的认证类型,可选择“HMAC”、“Basic Auth”、“Public Key”和“Aes”。 签名算法 选择Aes的签名算法,包含以下两种: aes-128-cfb aes-256-cfb Key 根据选择的密钥类型,填写不同的密钥信息。 HMAC:填写APP认证所使用密钥对的Key。 Basic Auth:填写basic认证所使用的用户名。 Aes:填写Aes认证所使用的密钥Key。 Public Key:填写Public Key认证所使用的公钥。 Secret 根据选择的密钥类型,填写不同的密钥信息。 HMAC:填写APP认证所使用密钥对的Secret。 Basic Auth:填写basic认证所使用的密码。 Aes:填写Aes认证所使用的向量。 Public Key:填写Public Key认证所使用的私钥。 确认Secret 填写与“Secret”一致的值。
  • 配置参数说明 表1 配置参数说明 参数 配置说明 allowed origins Access-Control-Allow-Origin响应头,指定允许访问API的外域URI,多个URI之间使用英文逗号隔开。 对于未携带身份凭证的请求,可以把参数值设置为“*”,表示允许来自所有域的访问请求。 allowed methods Access-Control-Allow-Methods响应头,指定允许使用的HTTP请求方法,多个请求方法之间使用英文逗号隔开。 allowed headers Access-Control-Allow-Headers响应头,指定XMLHttpRequest请求中允许携带的请求头字段,多个请求头之间使用英文逗号隔开。 其中,简单请求头Accept、Accept-Language、Content-Language、Content-Type(取值仅限为application/x-www-form-urlencoded、multipart/form-data、text/plain时)默认允许在请求中携带,无需在该参数中设置。 exposed headers Access-Control-Expose-Headers响应头,指定XMLHttpRequest请求响应中允许携带的响应头字段,多个响应头之间使用英文逗号隔开。 其中,基本响应头Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma默认允许在响应中携带,无需在该参数中设置。 maximum age Access-Control-Max-Age响应头,指定本次预检请求的有效期,单位为秒。在有效期内,无需再次发出预检请求。 allowed credentials Access-Control-Allow-Credentials响应头,定XMLHttpRequest请求中是否允许携带Cookie。 true表示允许。 false表示不允许。
  • 脚本配置示例 { "allow_origin": "*", "allow_methods": "GET,POST,PUT", "allow_headers": "Content-Type,Accept,Accept-Ranges,Cache-Control", "expose_headers": "X-Request-Id,X-Apig-Latency", "max_age": 172800, "allow_credentials": true}