云服务器内容精选

  • 购买E CS 进入云服务器控制台。 单击“购买弹性云服务器”。 基础配置后,单击“下一步:网络配置”。 表9 基础配置 参数 配置说明 计费模式 选择“按需计费”。 区域 选择弹性云服务器所属区域,且与VPC2同一区域。 可用区 选择弹性云服务器所属可用区。 CPU架构 默认“x86计算”。 规格 根据业务规划,选择规格。 镜像 根据业务规划,选择镜像。 虚拟私有云 选择已创建的虚拟私有云“VPC2”。 主网卡 选择已创建的虚拟私有云的子网。 安全组 选择专享版实例中已创建的安全组。 弹性公网IP 选择“暂不购买”。 云服务器名称 填写弹性云服务器名称,建议您按照一定的命名规则填写,方便您快速识别和查找。 登录凭证 登录云服务器凭证,此处默认“密码”。 用户名 默认“root”。 密码 填写登录云服务器的密码。 确认密码 保证密码正确性。 企业项目 此处选择“default”。 同意协议声明后,单击“立即购买”。
  • 创建实例 进入API网关控制台。 在左侧导航栏选择“实例管理”。 单击“购买实例”。 表3 实例信息 参数 配置说明 计费模式 选择实例的计费模式,此处选择“按需计费”。 区域 选择实例所在的区域,且与VPC1同区域。 可用区 选择实例所在的可用区,此处选择“可用区1”。 实例名称 填写实例的名称,根据规划自定义。建议您按照一定的命名规则填写实例名称,方便您快速识别和查找。 实例规格 选择实例的容量规格,实例创建后规格不可修改,此处选择“专业版”。 可维护时间窗 选择技术支持对实例进行维护的时间段,建议选择业务量较少的时间段,保持默认设置“22:00:00---02:00:00”。 企业项目 选择实例所属的企业项目,保持默认设置“default”。 网络 选择已创建的虚拟私有云“VPC1”和子网。 安全组 单击“管理安全组”,创建安全组,企业项目选择“default”后,即可创建。 描述 填写实例的描述信息。 单击“立即购买”。 规格确认无误后,勾选用户协议和隐私政策的阅读并同意声明。开始创建实例,界面显示创建进度。
  • 操作流程 准备CCE工作负载信息 在通过API网关将容器的工作负载对外开放前,需要在云容器引擎控制台创建CCE集群(VPC网络模型)或Turbo集群。 开放CCE工作负载 方式一:在API网关中直接创建负载通道并开放API,通过负载通道访问CCE工作负载中的实例地址。 方式二:在API网关中一键式导入CCE工作负载,自动生成API和负载通道,通过负载通道访问CCE工作负载中的实例地址。 (可选)配置工作负载标签实现灰度发布 通过CCE工作负载的标签配置,实现灰度发布。灰度发布是服务发布策略之一,旨在通过调整流量分配权重,逐步将流量从旧版本引导到新版本实例上。 父主题: 使用API网关专享版开放云容器引擎CCE工作负载
  • 配置API后端 前端设置完成后,单击“下一步”,进入后端设置页面。 设置“默认后端”的后端服务类型为“Mock”类型,Mock返回结果填写“默认后端”。 单击根据下表添加策略后端。 表2 配置策略后端 参数 配置说明 后端策略名称 填写后端策略名称,建议您按照一定的命名规则填写,方便您快速识别和查找。 后端服务类型 此处选择“Mock”。 Mock返回结果 此处填写“策略后端”。 策略条件 条件来源:选择“系统参数-前端认证参数”。 参数名称:填写前提条件已创建自定义认证函数返回体中context字段下的 "authstatus1"。 条件类型:选择“相等”。 条件值:填写前提条件已创建自定义认证函数返回体中context字段下的“False”。 单击“完成”,完成创建API。
  • 调试API 为了方便观察,在创建策略后端时后端服务类型选择“Mock”,并且设置Mock返回结果。如果策略后端的后端服务类型为其他,可以观察对应的后端地址是否被成功访问。 在“API运行”页面单击“调试”,调试已创建的API。 响应结果中显示“200 OK”,表示API调用成功,并且返回值中有“策略后端”字样,表示设置的策略后端的匹配条件成功匹配到前端自定义认证函数返回体中的context字段中的键值对,API调用策略后端成功。否则,请参考错误码章节处理。 在“API运行”页面,单击“编辑”,进入API设置页面。 单击“下一步”,进入API的后端设置页面,修改已添加策略后端的策略条件值为“True”。 单击“完成”,完成API的编辑。 再次调试API。 由于此时设置的策略后端的参数和条件值没有匹配到前端自定义认证函数返回体中context字段下的任意键值对,因此,无法通过前端自定义认证参数匹配到API的策略后端,此时API的响应结果显示“200 OK”,但是返回值为“默认后端”,表示此时调用的是API的默认后端。否则,请参考错误码章节处理。
  • 连通云专线与API网关 创建VPC。 具体操作请参考《虚拟私有云 VPC》。 专享版API网关需要绑定1个VPC,将本地数据中心与VPC之间建立云专线后,API网关即可访问本地数据中心的服务。 图2 创建VPC示例参考 需要为API网关规划1个子网段。 一条云专线只能打通本地数据中心到1个VPC的网络,您在云上的资源,建议都绑定到同一VPC中,避免不同VPC都需要使用云专线访问本地数据中心带来的成本增加。 如果已有VPC,可不用新建。 创建专享版API网关。 具体请参考购买专享版API网关章节。 购买云专线。 购买一条连接本地数据中心到华为云API网关(所绑定的虚拟私有云)的云专线,请按以下操作顺序执行: 购买物理连接接入 即购买一条连接本地数据中心与华为云的运营商线路。建议您选择“一站式接入”,华为云负责施工工程。 如果已有数据中心到华为云的物理连接,可直接使用。 创建虚拟网关 虚拟网关用于关联专享版API网关绑定的VPC。 在选择VPC网段时,需要添加专享版API网关所使用的网段,表示允许专线可访问的VPC子网。可在专享版API网关控制台查询网段详情。 创建虚拟接口 虚拟接口将物理连接与虚拟网关(配置了VPC和网段)关联绑定,打通物理与专享版API网关所在VPC的网络。 注意远端网关与远端子网要分别配置您本地数据中心的开放API接口访问的网关和子网。例如您本地数据中心的API调用地址为http://192.168.0.25:80/{URI},则远端网关和远端子网要配置192.168.0.25所在的子网段与网关。 配置本地路由 如果本地数据中心的子网不在以下三个大子网段内,暂时不支持配置本地路由:10.0.0.0/8-24、172.16.0.0/12-24、192.168.0.0/16-24。 验证网络连通。 再创建一台按需的ECS,选择与专享版API网关相同的VPC、子网与安全组。只要本地数据中心能连通ECS,则与专享版API网关也能连通。
  • 编写自定义认证函数 在 函数工作流 的控制台编写函数,自定义认证的代码编写指南参见创建用于前端自定义认证的函数。 在函数工作流页面创建一个函数,语言选Python 3.6。 表1 函数信息配置 参数 配置说明 函数类型 默认“事件函数”。 区域 与API网关相同区域。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。此处默认为已选择的区域。 函数名称 根据规划自定义名称。建议您按照一定的命名规则填写名称,方便您快速识别和查找。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。此处默认“default”。 委托名称 用户委托函数工作流去访问其他的云服务。此处选择“未使用任何委托”。 运行时 选择Python 3.6。 函数创建完成后,进入函数详情。在“代码”页签,将以下代码复制到index.py中(如果您使用的是专享版网关,并且实例支持authorizer_context_support_num_bool特性,那么context中的value的类型可以为boolean类型或number类型)。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # -*- coding:utf-8 -*- import json def handler(event, context): #以下表示认证信息匹配正确,则返回用户名, if event["headers"]["authorization"]=='Basic dXN****cmQ=': return { 'statusCode': 200, 'body': json.dumps({ "status":"allow", "context":{ "user_name":"user1" } }) } else: return { 'statusCode': 200, 'body': json.dumps({ "status":"deny", "context":{ "code": "1001", "message":"incorrect username or password", "authorizer_success": "false" } }) }
  • 映射后端参数 如果认证通过,函数返回的context信息,可以传到后端,配置方式如下: 编辑API,在后端服务页面,添加系统参数,参数类型为前端认证参数,系统参数名称填自定义认证函数中context中的字段,后端参数名称和位置填需要传入到后端请求的参数名和位置。 编辑和发布完成之后,使用正确的认证信息调用API,可以看到后端打印了X-User-Name头,值为函数代码中写入到context中的user_name字段的用户名。
  • 设置错误响应 调用API如果输入错误的认证信息,则返回结果如下: 1 {"error_msg":"Incorrect authentication information: frontend authorizer","error_code":"APIG.0305","request_id":"36e42b3019077c2b720b6fc847733ce9"} 为了让API响应结果为函数中返回的context中的字段(如果您使用的是专享版网关,并且实例支持authorizer_context_support_num_bool特性,那么context中的value的类型可以为boolean类型或number类型),需要修改网关响应模板。在API所在的分组中,“分组信息”页签下的“网关响应”区域,编辑自定义认证失败的响应详情,将响应状态码改为401,将消息模板改为(引用变量为boolean类型或number类型时,变量不需要加双引号): 1 {"code":"$context.authorizer.frontend.code","message":"$context.authorizer.frontend.message", "authorizer_success": "$context.authorizer.frontend.authorizer_success"} 修改之后,调用API传入错误的认证信息,返回状态码为401,返回结果如下: 1 {"code":"1001","message":"incorrect username or password","authorizer_success": "false"}
  • 简介 本手册基于华为云API网关实践所编写,用于指导如何为API添加自定义认证。 在API的安全认证方面,API网关提供 IAM 认证、APP认证等方式,帮助用户快速开放API,同时API网关也支持用户使用自己的认证方式(以下简称自定义认证),以便更好地兼容已有业务能力。 API网关支持的自定义认证需要借助函数工作流服务实现,用户在函数工作流中创建自定义认证函数,API网关调用该函数,实现自定义认证。下面以Basic认证为例,介绍如何使用函数服务实现自定义认证。
  • 验证 使用接口测试工具调用已创建的API,或者在客户端调用已创建的API。 填写API所属分组的调试 域名 。 导入服务端的proto文件。 此处的proto文件如下: syntax = "proto3"; package helloworld; // The greeting service definition. service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {} } // The request message containing the user's name. message HelloRequest { string name = 1; } // The response message containing the greetings message HelloReply { string message = 1; } helloworld:包名 Greeter:服务名 SayHello:方法名 HelloRequest:请求体 HelloReply:响应体 参考proto文件在“message”区域中填写API的Request。 { "name": "world" } 单击“Invoke”发送请求。 在“Response”区域中返回API的Response,且状态码显示“0 OK”,表示调用成功。
  • 公告说明 自2024年9月起,当用户使用以下API的自定义策略授权时,用户需创建或更新自定义策略才可访问。 权限描述 对应的API 新增授权项 依赖授权项 IAM项目(Project) 企业项目(Enterprise Project) 获取SSL证书列表 GET /v2/{project_id}/apigw/certificates apig:certificate:list - √ √ 创建SSL证书 POST /v2/{project_id}/apigw/certificates apig:certificate:create apig:instances:get √ 请求参数中携带instance_id时支持,否则不支持 删除SSL证书 DELETE /v2/{project_id}/apigw/certificates/{certificate_id} apig:certificate:delete - √ × 查看证书详情 GET /v2/{project_id}/apigw/certificates/{certificate_id} apig:certificate:get - √ × 修改SSL证书 PUT /v2/{project_id}/apigw/certificates/{certificate_id} apig:certificate:update apig:instances:get √ 请求参数中携带instance_id时支持,否则不支持 获取SSL证书已绑定域名列表 GET /v2/{project_id}/apigw/certificates/{certificate_id}/attached-domains apig:certificate:listBoundDomain - √ × SSL证书绑定域名 POST /v2/{project_id}/apigw/certificates/{certificate_id}/domains/attach apig:certificate:batchBindDomain apig:certificate:get apig:groups:get √ × SSL证书解绑域名 POST /v2/{project_id}/apigw/certificates/{certificate_id}/domains/detach apig:certificate:batchUnbindDomain apig:certificate:get apig:groups:get √ × 查询实例终端节点连接列表 GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-endpoint/connections apig:instance:listVpcEndpoint apig:instances:get √ √ 接受或拒绝终端节点连接 POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-endpoint/connections/action apig:instance:acceptOrRejectVpcEndpointConnection apig:instances:get √ √ 查询实例的终端节点服务的白名单列表 GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-endpoint/permissions apig:instance:listVpcEndpointPermission apig:instances:get √ √ 批量添加实例终端节点连接白名单 POST/v2/{project_id}/apigw/instances/{instance_id}/vpc-endpoint/permissions/batch-add apig:instance:batchAddVpcEndpointPermission apig:instances:get √ √ 批量删除实例终端节点连接白名单 POST/v2/{project_id}/apigw/instances/{instance_id}/vpc-endpoint/permissions/batch-delete apig:instance:batchDeleteVpcEndpointPermission apig:instances:get √ √ 创建参数编排规则 POST /v2/{project_id}/apigw/instances/{instance_id}/orchestration apig:orchestration:create apig:instances:get √ √ 查看编排规则列表 GET /v2/{project_id}/apigw/instances/{instance_id}/orchestration apig:orchestration:list apig:instances:get √ √ 查询编排规则详情 GET /v2/{project_id}/apigw/instances/{instance_id}/orchestrations/{orchestration_id} apig:orchestration:get apig:instances:get √ √ 更新编排规则 PUT /v2/{project_id}/apigw/instances/{instance_id}/orchestrations/{orchestration_id} apig:orchestration:update apig:instances:get √ √ 删除编排规则 DELETE /v2/{project_id}/apigw/instances/{instance_id}/orchestrations/{orchestration_id} apig:orchestration:delete apig:instances:get √ √ 查询编排规则绑定的API GET /v2/{project_id}/apigw/instances/{instance_id}/orchestrations/{orchestration_id}/attached-apis apig:orchestration:listBoundApis apig:instances:get √ √
  • 支持的授权项 细粒度策略支持的操作与API相对应,授权项列表说明如下: 权限:自定义策略中授权项定义的内容即为权限。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 对应API接口:自定义策略实际调用的API接口。 授权范围:自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM项目和企业项目的区别。 API网关服务管理控制操作相关的授权项,明细如下表所示。用户调用如下API时,需要获取对应的权限。权限获取请参考 统一身份认证 服务(IAM)的帮助指导。 表1 API网关权限明细 权限描述 授权项 对应的API IAM项目(Project) 企业项目(Enterprise Project) 创建API网关专享版实例 apig:instances:create POST /v2/{project_id}/apigw/instances √ √ 删除API网关专享版实例 apig:instances:delete DELETE /v2/{project_id}/apigw/instances/{instance_id} √ √ 更新API网关专享版实例 apig:instances:update PUT /v2/{project_id}/apigw/instances/{instance_id} √ √ 查看API网关专享版实例 apig:instances:get GET /v2/{project_id}/apigw/instances/{instance_id} √ √ 查看API网关专享版实例列表 apig:instances:list GET /v2/{project_id}/apigw/instances √ √ 创建API分组 apig:groups:create POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups √ √ 删除API分组 apig:groups:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id} √ √ 查看API分组 apig:groups:get GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id} √ √ 查看API分组列表 apig:groups:list GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups √ √ 创建分组域名 apig:domains:create POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains √ √ 删除分组域名 apig:domains:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id} √ √ 分组域名绑定证书 apig:domains:bindCertificate POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate √ √ 分组域名解绑证书 apig:domains:unbindCertificate DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id} √ √ 查看分组域名绑定的证书 apig:domains:getCertificate GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id} √ √ 创建环境变量 apig:variables:create POST /v2/{project_id}/apigw/instances/{instance_id}/env-variables √ √ 删除环境变量 apig:variables:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id} √ √ 查看环境变量 apig:variables:get GET /v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id} √ √ 查看环境变量列表 apig:variables:list GET /v2/{project_id}/apigw/instances/{instance_id}/env-variables √ √ 创建API apig:apis:create POST /v2/{project_id}/apigw/instances/{instance_id}/apis √ √ 删除API apig:apis:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id} √ √ 发布API apig:apis:publish POST /v2/{project_id}/apigw/instances/{instance_id}/apis/action √ √ 下线API apig:apis:offline POST /v2/{project_id}/apigw/instances/{instance_id}/apis/action √ √ 调试API apig:apis:debug POST /v2/{project_id}/apigw/instances/{instance_id}/apis/debug/{api_id} √ √ 导入API apig:apis:import POST /v2/{project_id}/apigw/instances/{instance_id}/openapi/import √ √ 导出API apig:apis:export POST /v2/{project_id}/apigw/instances/{instance_id}/openapi/export √ √ 授权API apig:apis:grantAppAccess POST /v2/{project_id}/apigw/instances/{instance_id}/app-auths √ √ 解授权API apig:apis:relieveAppAccess DELETE /v2/{project_id}/apigw/instances/{instance_id}/app-auths/{app_auth_id} √ √ API绑定签名 apig:apis:bindSigns POST /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings √ √ API解绑签名 apig:apis:unbindSigns DELETE /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/{sign_bindings_id} √ √ API绑定访问控制 apig:apis:bindAcls POST /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings √ √ API解绑访问控制 apig:apis:unbindAcls DELETE /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/{acl_bindings_id} √ √ API绑定流控 apig:apis:bindThrottles POST /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings √ √ API解绑流控 apig:apis:unbindThrottles DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/{throttle_binding_id} √ √ 查看API apig:apis:get GET /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id} √ √ 查看API列表 apig:apis:list GET /v2/{project_id}/apigw/instances/{instance_id}/apis √ √ 查看API绑定的APP列表 apig:apis:listBindedApps GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apps √ √ 查看API绑定的签名列表 apig:apis:listBindedSigns GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-signs √ √ 查看API绑定的访问控制列表 apig:apis:listBindedAcls GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/binded-acls √ √ 查看API绑定的流控列表 apig:apis:listBindedTrottles GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-throttles √ √ 创建环境 apig:envs:create POST /v2/{project_id}/apigw/instances/{instance_id}/envs √ √ 删除环境 apig:envs:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/envs/{env_id} √ √ 查看环境列表 apig:envs:list GET /v2/{project_id}/apigw/instances/{instance_id}/envs √ √ 创建应用 apig:apps:create POST /v2/{project_id}/apigw/instances/{instance_id}/apps √ √ 删除应用 apig:apps:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id} √ √ 查看应用 apig:apps:get GET /v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id} √ √ 查看应用列表 apig:apps:list GET /v2/{project_id}/apigw/instances/{instance_id}/apps √ √ 查看应用绑定的API列表 apig:apps:listBindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apis √ √ 查看应用未绑定的API列表 apig:apps:listUnbindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/unbinded-apis √ √ 创建签名 apig:signs:create POST /v2/{project_id}/apigw/instances/{instance_id}/signs √ √ 删除签名 apig:signs:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id} √ √ 查看签名列表 apig:signs:list GET /v2/{project_id}/apigw/instances/{instance_id}/signs √ √ 查看签名绑定的API列表 apig:signs:listBindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-apis √ √ 查看签名未绑定的API列表 apig:signs:listUnbindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/unbinded-apis √ √ 创建访问控制 apig:acls:create POST /v2/{project_id}/apigw/instances/{instance_id}/acls √ √ 删除访问控制 apig:acls:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/acls/{acl_id} √ √ 查看访问控制 apig:acls:get GET /v2/{project_id}/apigw/instances/{instance_id}/acls/{acl_id} √ √ 查看访问控制列表 apig:acls:list GET /v2/{project_id}/apigw/instances/{instance_id}/acls √ √ 查看访问控制绑定的api列表 apig:acls:listBindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/binded-apis √ √ 查看访问控制未绑定的api列表 apig:acls:listUnbindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/unbinded-apis √ √ 创建流量控制 apig:throttles:create POST /v2/{project_id}/apigw/instances/{instance_id}/throttles √ √ 删除流量控制 apig:throttles:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id} √ √ 查看流量控制 apig:throttles:get GET /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id} √ √ 查看流量控制列表 apig:throttles:list GET /v2/{project_id}/apigw/instances/{instance_id}/throttles √ √ 查看流量控制绑定的API列表 apig:throttles:listBindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-apis √ √ 查看流量控制未绑定的API列表 apig:throttles:listUnbindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/unbinded-apis √ √ 创建特殊流量控制 apig:specialThrottles:create POST /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials √ √ 删除特殊流量控制 apig:specialThrottles:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials/{strategy_id} √ √ 查看特殊流量控制列表 apig:specialThrottles:get GET /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials √ √ 创建负载通道 apig:vpcChannels:create POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels √ √ 删除负载通道 apig:vpcChannels:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} √ √ 更新负载通道 apig:vpcChannels:update PUT /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} √ √ 创建后端实例 apig:vpcChannels:addInstance POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/members √ √ 删除后端实例 apig:vpcChannels:deleteInstance DELETE /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/members/{member_id} √ √ 查看负载通道 apig:vpcs:get GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} √ √ 查看负载通道列表 apig:vpcs:list GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels √ √ 创建自定义认证 apig:authorizers:create POST /v2/{project_id}/apigw/instances/{instance_id}/authorizers √ √ 删除自定义认证 apig:authorizers:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/authorizers/{authorizer_id} √ √ 查看自定义认证 apig:authorizers:get GET /v2/{project_id}/apigw/instances/{instance_id}/authorizers/{authorizer_id} √ √ 查看自定义认证列表 apig:authorizers:list GET /v2/{project_id}/apigw/instances/{instance_id}/authorizers √ √ 查看标签列表 apig:tags:list GET /v2/{project_id}/apigw/instances/{instance_id}/tags √ √ 查看实例特性列表 apig:features:list GET /v2/{project_id}/apigw/instances/{instance_id}/features √ √ 创建实例特性 apig:features:create POST /v2/{project_id}/apigw/instances/{instance_id}/features √ √
  • 约束与限制 独立域名绑定端口时,同一域名不支持绑定相同端口。 同一域名不同端口,无论哪个端口绑定/修改/解绑SSL证书、开启/关闭客户端认证,所有端口都会同步生效。 如果您通过负载通道访问后端服务,那么独立域名绑定的端口需与负载通道中后端服务器的访问端口保持一致。 独立域名绑定端口后,如果您通过IP地址访问API,那么需要在请求消息中添加Header参数“host”,host值必须带有对应的访问协议的端口(默认的80/443端口,host值可以不带)。
  • 获取域名 云服务平台内业务系统访问API的场景,需获取内网域名作为独立域名。 申请内网域名,具体请参考创建内网域名。 配置域名到“服务集成APIC 连接地址”的A类型记录集配置,具体请参考增加A类型记录集。 如果API分组中的API支持HTTPS请求协议,则需要为独立域名添加SSL证书。您需要提前获取SSL证书的内容和密钥,并创建SSL证书。 云服务平台外业务系统访问API的场景,需获取公网域名作为独立域名。 申请公网域名,具体可通过 域名注册服务 申请。 备案公网域名,您可以通过备案中心完成域名备案。备案时长需几个工作日,建议您提前进行备案。 配置域名到API分组子域名的CNAME类型记录集配置,具体请参考增加CNAME类型记录集。 如果API分组中的API支持HTTPS请求协议,则需要为独立域名添加SSL证书。您需要提前获取SSL证书的内容和密钥,并创建SSL证书。