标签:ssl协议 nbsp 合作 全局 管理 私钥 不同 密钥 允许
API 分组是 API 的管理单元,分组包含名称、描述、区域(Region)、域名几大属性。
域名:分组创建时,系统会为分组分配一个二级域名。如果需要开放 API 服务,您需要为分组绑定一个在阿里云系统备案成功的独立域名,且将独立域名 CNAME 到相应的二级域名上。每个分组最多只能绑定5个独立域名。
独立域名:用于开放api
二级域名:用于测试,使用有限制
组的QPS限制:500
环境是 API 分组上的一个配置,每个分组有若干个环境。 API 录入后,未经发布时,就只是 API 定义。发布到某个环境后才是能够对外提供服务的 API 。
环境变量是在环境上用户可创建可管理的一种变量,该配置是固定于环境上的。如在线上环境创建变量,变量名为 Path,变量值为 /stage/release.
在 API 定义中的 Path 位置,写作 #Path#,即配置为变量标识,变量名为 Path。
那么将该 API 发布到线上环境时,该 API 在线上环境的运行定义,Path 处的 #Path#,会取值为 /stage/release。
而将该 API 发布到其他环境时,若环境上没有环境变量 #Path#,则无法取值,那么 API 就无法调用。
使用环境变量可以解决后端服务需要区分环境的问题,通过不同的环境上配置不同的服务地址和Path,来调用不同的后端服务,同时 API 的定义配置又是一套。使用时需要注意以下几点:
后端是 https,所以还需要上传 SSL 证书,不支持上传文件,需要把内容复制进来。
若该分组下的 API 支持 HTTPS 协议,您还需要为该独立域名上 SSL 证书。不支持文件上传,需要填写证书名称、内容和私钥。
HTTPS在HTTP的基础上加入了SSL协议,对信息、数据加密,用来保证数据传输的安全。现如今被广泛使用。
API网关也支持使用HTTPS对您的API请求进行加密。可以控制到API级别,即您可以强制您的API只支持HTTP、HTTPS或者两者均支持。
您需要准备如下材料:
为这个域名申请一个SSL证书
SSL证书会包含两部分内容:XXXXX.key、XXXXX.pem,可以使用文本编辑器打开
示例:
KEY
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA8GjIleJ7rlo86mtbwcDnUfqzTQAm4b3zZEo1aKsfAuwcvCud
....
-----END RSA PRIVATE KEY-----
PEM
-----BEGIN CERTIFICATE-----
MIIFtDCCBJygAwIBAgIQRgWF1j00cozRl1pZ+ultKTANBgkqhkiG9w0BAQsFADBP
...
-----END CERTIFICATE-----
准备好以上材料,需要进行如下操作进行,登陆API网关管理控制台【开放API】-【分组管理】,单击您需要绑定SSL证书的分组,查看分组详情
在绑定SSL证书,您首先需要您在API分组上绑定【独立域名】
【独立域名】-添加SSL证书
私钥:证书的私钥,需要复制XXXXX.key中的内容。点击【确定】后,完成SSL证书的绑定。
步骤3:API配置调整
绑定SSL证书后,您可以按API控制不同的访问方式,支持HTTP、HTTPS、HTTP和HTTPS三种,出于安全考虑,建议全部配置成HTTPS。
可以在【开放API】-【API列表】找到相应API,【API定义】-编辑-【请求基础定义】中进行修改。
API支持的协议包括:
创建 API 即在 API 网关录入 API 的定义。您需要定义 API 的基本信息、服务信息、请求信息、返回信息。
API 的基本信息:分组、API 名称、API 类型、API 认证方式、描述。
组内的API类型有公开、私有,私有除非有APP得到了授权,默认不会随分组上线
API 创建时需要选择分组。分组是 API 的管理单元,创建 API 之前您需要先创建分组( API 分组的详细说明见 API 开放),选择分组即选择 Region。
安全认证方式:是 API 请求的认证方式,目前支持 阿里云APP、OpenID Connect 和 无认证 三种认证方式。
API 类型分为公开和私有两种。
均有机会在 发现 API 页面看到 API 的部分信息。公开 类型的 API 都会跟 API 分组上架到云市场,供用户购买和调用。
定义用户如何请求 API ,包括协议、Method、Path、入参的定义。
录入的参数,包括 Path 中的动态参数、Headers 参数、Query 参数、Body 参数(非二进制)、常量参数、系统参数,参数名称保证全局唯一。
Path 就是您调用 API 时,Url 中 .com 后到 ? 之前的部分,Path 包含动态参数的情况在后续的后端配置步骤中详细说明。
举例说明:比如您调用的 Url 前部分为:https://globalservice.api.com/getapilist?command=...
那么您的 Path 就是:/getapilist
参数映射:请求参数映射,前端和后端都支持参数映射,path中支持动态参数!
结果映射: 返回结果目前是直接转发给前端的。
参数类型:
head参数、请求参数、动态参数
body参数:post模式下使用,二进制方式和form方式二选一
常量参数和系统参数 API 的请求者不可见,由网关在请求后端服务时添加上。
常量参数:比如您的后端需要接收一个常量,但是这个常量您不希望被您的客户看见,那么就设置一个常量参数,可以在 Header 或者 Query 里面接收。
系统参数:比如您需要获取客户调用 API 时用的 APP 的 ID 来做日志统计,可在系统参数配置,在 Header 或者 Query 里面接收。建议后端接收 CaRequestId 字段,每个请求一个 ID 唯一,便于问题定位和建立全量日志,再如clientIp。
参数校验:支持参数类型、参数值(范围、枚举、正则、Json Schema)校验,无效校验直接会被 API 网关拒绝
另外,API 网关入参配置是支持混排的,把所有参数在一起配置,然后选择参数的位置是 Header、Query 还是 Body,甚至是在 Path上。
定义一些参数的前后端映射,具体描述的后端真实服务的 API 配置。
用户请求到达网关后,网关会根据后端配置映射为对应实际后端服务的请求形式,去请求后端。
API的后端定义包括后端服务地址、后端Path、后端超时时间、参数映射、常量参数、系统参数。
系统参数。指 API 网关的系统参数,这些参数默认不会传递给您,但是如果您需要获取,您可以在 API 里配置接收位置和名称。具体内容如下表:
返回类型及示例,目前网关对于返回结果不做处理,直接透传给请求者。后续会支持用户定制化、格式化的定义返回信息。
多端输出:只需调整API定义,即可实现对APP、设备、web端等多种终端的支持
https://apigateway.console.aliyun.com/?spm=5176.doc29496.2.1.cEmnVJ#/cn-hangzhou/apis/detail/66bc382db8344b3b93056c696fab49a8/749965cee13e40af9b2487d0b3380cde/definition
\
API网关调用函数服务时,会将API的相关数据包装为一个Map形式传给函数计算服务,函数计算服务处理后,需要按照图中Output Format的格式返回statusCode,headers,body等相关数据,API gateway再将函数计算返回的内容映射到statusCode,header,body等位置返回给客户端。
函数计算(Function Compute)是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传,函数计算准备计算资源,并以弹性伸缩的方式运行用户代码。而用户只需根据实际代码运行所消耗的资源付费。
详细了解请查看函数计算帮助文档。
API网关与函数计算对接,可以让您以API形式开放您的函数,并且解决认证、流量控制、数据转换等问题(查看API网关功能) ,让您的函数服务可以安全、简单的以API形式对外开放。
请求签名支持多种认证方式,支持 HMAC (SHA-1,SHA-256) 算法签名。
流量控制可以用于管控 API的被访问频率、APP的请求频率、用户的请求频率。
天、小时、分钟,告警?
支持流控例外,允许设置特殊的 APP 或者用户
您可以查看您每个 API 的发布历史记录,包括每次发布的版本号、说明、环境、时间和具体定义内容。
查看历史时,您可以选定某个版本然后操作切换到此版本,该操作会使该版本直接在指定环境中替换之前的版本,实时生效。
对方有测试环境 ? 目前不支持该特性
界面调试工具:提供可视化的界面调试工具,快速测试,快速上线。
线上环境和测试环境
checklist列表
您的 API 如果上架到市场,那么购买者有权利操作给自己的某个 APP 授权。
如果不经过购买行为,您需要在线下跟合作伙伴建立使用关系,那么您需要通过授权来建立 API 和 APP 的权限关系。
您将 API 发布到线上环境后,需要给客户的 APP 授权,客户才能用该 APP 进行调用。您有权对此类授权操作建立或者解除某个 API 与某个 APP 的授权关系, API 网关会对权限关系进行验证。操作授权时,您需要注意以下几点:
四、监控告警
调用量、流量大小、响应时间、错误率
流量控制:按照用户+api,时段有分钟,小时,天
可配置预警方式(短信、Email),订阅预警信息,以便实时掌握API运行情况。
支持历史情况查询,以便统筹分析。
标签:ssl协议 nbsp 合作 全局 管理 私钥 不同 密钥 允许
原文地址:http://www.cnblogs.com/lexiaofei/p/7457064.html