检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开启跨域访问 什么是跨域访问 浏览器出于安全性考虑,会限制从页面脚本内发起的跨域访问(CORS)请求,此时页面只能访问同源的资源,而CORS允许浏览器向跨域服务器,发送XMLHttpRequest请求,从而实现跨域访问。 图1 跨域访问示意图 浏览器将CORS请求分为两类: 简单请求
为什么跨域调用API失败? 可能原因 API的跨域共享配置不正确。 解决方法 检查是否开启CORS。 进入API详情,单击“编辑”,查看是否开启CORS。如果没开启CORS,请开启。 检查是否创建OPTIONS方式的API,每个分组只需创建一个OPTIONS方式的API。 参数配置如下:
开启跨域访问 API网关默认不开启跨域访问,如果您需要开启,请参考以下说明完成跨域配置。如需自定义跨域的请求头、跨域的请求方法和指定授权访问的域,请使用配置API的跨域资源共享。 简单请求的跨域访问 如果是创建新的API,在“安全配置”时,勾选“开启支持跨域(CORS)”开关。详细的使用指导,可参考简单请求。
配置API的跨域资源共享 出于安全性考虑,浏览器会限制从页面脚本内发起的跨域请求,此时页面只能访问当前域的资源。CORS允许浏览器向跨域服务器发送XMLHttpRequest请求,从而实现跨域访问。更多跨域访问的说明请参见跨域调用APIG开放的API。 跨域资源共享策略为跨域访问提供
x-apigateway-cors 含义:API网关定义的API请求是否支持跨域。 作用域:Operation Object(2.0)/Operation Object(3.0) 示例: paths: '/path': get: x-apigateway-cors: true
API的后端服务报“Backend domain name resolution failed” APIG实例所在的VPC完成了内网域名解析,后端服务调用仍报“域名无法解析”错误。 可能原因 APIG实例所在的VPC与用户后端服务所在的VPC存在网络隔离,内网域名解析仅在用户后端服务所在的VPC下能够解析。
调用API(浏览器)示例 由于浏览器限制从页面脚本内发起跨域请求,因此浏览器访问API前需要在API网关控制台上创建一个跨域共享策略,允许浏览器向跨域服务器发送XMLHttpRequest请求,并为跨域共享策略绑定API。 创建策略请参考跨域共享策略说明。 图8 创建跨域共享策略示例 在html中引入signer
名,API调用时,使用了其他分组的独立域名。 检查API是否使用OPTIONS跨域请求,如果使用OPTIONS跨域请求,请在API中开启CORS,并创建OPTIONS方式的API。具体操作请参考开启跨域共享。 父主题: 调用API
无认证:表示不需要认证。 支持跨域CORS 是否开启跨域访问CORS(cross-origin resource sharing)。 CORS允许浏览器向跨域服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 CORS请求分为两类: 简单请求:头信息之中,增加一个Origin字段。
配置API的插件策略 配置API的跨域资源共享 配置API的响应缓存 配置API的HTTP响应头 配置API的流量控制2.0 配置API的Kafka日志推送 配置API的断路器 配置API的第三方认证 配置API的流量镜像 父主题: 配置API策略
调用API 调用APIG开放的API 跨域调用APIG开放的API APIG的API响应消息头说明 APIG的API错误码说明
API的后端服务是否支持绑定私网ELB地址? API的后端服务地址支持填写私有地址(子网IP)吗? APIG是否支持多后端节点方案? API可以绑定内网域名吗? 为什么跨域调用API失败? API网关如何开放部署在华为云上的服务?
API认证凭据问题汇总 Q:最多支持创建多少个应用(凭据)? 每个用户最多创建50个应用(凭据)。包括您自行创建的凭据和在云商店购买API生成的APP。 Q:APP认证的API,怎样实现不同的第三方之间无法知道对方调用情况? 创建多个应用(凭据),并绑定同一个API,分发给不同的第三方不一样的应用(凭据)。
调用API失败的可能原因 网络问题 调用API失败的场景分为三种:同一VPC内调用失败、不同VPC之间调用失败、公网调用失败。 VPC内调用API失败时,请检查域名是否和API自动分配的域名一致,如果域名错误,会导致调用API失败。 不同VPC之间调用API失败时,请检查两个VP
API策略 是否支持对API的请求并发次数做控制? 企业账号是否有调试域名每天最多可以访问1000次的限制? API调用是否存在带宽限制 API的流量控制策略不生效怎么处理? 怎样给指定的用户开放API? API访问控制策略配置的IP地址是否为客户端的IP地址?
于请求体的描述信息。 支持跨域(CORS) 是否开启跨域访问CORS(cross-origin resource sharing)。 CORS允许浏览器向跨域服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 CORS请求分为两类: 简单请求:头信息之中,增加一个Origin字段。
API管理 创建API 开启跨域访问 调试API 授权API 发布API 下线API 删除API 导入API 导出API 父主题: 共享版操作指导(仅存量用户使用)
调用API 调用API失败的可能原因 调用API报“414 Request URI too large” 调用API报“The API does not exist or has not been published in the environment” 调用API报“No backend
发布API 对API的修改是否需要重新发布? API发布到RELEASE环境可以正常访问,发布到非RELEASE环境无法访问如何处理? API发布到不同环境后,会调用不同的后端服务吗? 调试API的时候,如何指定环境?
产品咨询 如何将API服务上架到华为云商店上售卖? API分组为什么无法上架到云商店? API、环境、凭据之间的关系? API网关共享版是否可以升级到专享版? APIG控制台所有按钮均无法单击如何处理? 怎样保护API的调用安全? 怎样保证API网关调用后端服务器的安全?