云服务器内容精选

  • "The API does not exist or has not been published in the environment."如何解决? 调用API网关中开放的API报错,请按以下顺序排查可能原因: 调用API所使用的 域名 、请求方法、路径不正确。 比如创建的API为POST方法,您使用了GET方法调用。 比如访问的URL比API详情中的URL少一个“/”也会导致无法匹配上此API,例如http://7383ea59c0cd49a2b61d0fd1d351a619.apigw.region.cloud.com/test/和http://7383ea59c0cd49a2b61d0fd1d351a619.apigw.region.cloud.com/test会匹配上不同的API。 API没有发布。API创建后,需要发布到具体的环境后才能使用。具体操作请参考发布API。如果发布到非生产环境,检查请求“X-Stage”头是否为发布的环境名。 域名解析不正确。如果API的域名、请求方法、路径正确,且已发布到环境,有可能是没有准确解析到您的API所在分组。请检查API所在的分组域名,例如您有多个API分组,每个分组有自己的独立域名,API调用时,使用了其他分组的独立域名。 检查API是否使用OPTIONS跨域请求,如果使用OPTIONS跨域请求,请在API中开启CORS,并创建OPTIONS方式的API。具体操作请参考开启跨域共享。 父主题: API调用
  • Incorrect app authentication information: verify signature fail, canonicalRequest { "error_msg": "Incorrect app authentication information: verify signature fail, canonicalRequest:GET|/test/||host:d7da6fe436fb48f2af3c5c2e5b203df7.example.com|x-sdk-date:20230527T015431Z||host;x-sdk-date|e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "error_code": "APIG.0303", "request_id": "cb141a91c945e68950a14a8eff5d62dc" }
  • Incorrect app authentication information: app not found, appkey xxx { "error_msg": "Incorrect app authentication information: app not found, appkey 01177c425f71487ea362ba84dc4abe5e1", "error_code": "APIG.0303", "request_id": "a5322eb89048eb41d705491a76a05aca" }
  • Incorrect app authentication information: signature expired { "error_msg": "Incorrect app authentication information: signature expired, signature time:20230527T000431Z,server time:20230527T020608Z", "error_code": "APIG.0303", "request_id": "fd6530a01c09807640189e65e837b8ad" } 可能原因 客户端签名时间戳x-sdk-date与APIGW服务器时间相差超过15min。 解决办法 检查客户端时间是否正确。
  • Incorrect IAM authentication information: decrypt token fail { "error_msg": "Incorrect IAM authentication information: decrypt token fail", "error_code": "APIG.0301", "request_id": "******" } 可能原因 用户的API所属IAM认证,TOKEN解析失败。 解决办法 检查获取的token是否为对应IAM账号下的token。 检查获取token的方法,token是否正确。 检查获取token的环境与调用的环境是否一致。
  • Incorrect IAM authentication information: Get secretKey failed { "error_msg": "Incorrect IAM authentication information: Get secretKey failed,ak:******,err:ak not exist", "error_code": "APIG.0301", "request_id": "******" } 可能原因 用户的API所属IAM认证,使用AK/SK签名方式访问,但是AK不存在。 解决方法 检查AK填写是否正确。
  • Incorrect IAM authentication information: verify aksk signature fail { "error_msg": "Incorrect IAM authentication information: verify aksk signature fail, ...... "error_code": "APIG.0301", "request_id": "******" }
  • Incorrect IAM authentication information: AK access failed to reach the limit,forbidden { "error_msg": "Incorrect IAM authentication information: AK access failed to reach the limit,forbidden." ...... "error_code": "APIG.0301", "request_id": "******" }
  • 怎样保护API? 使用身份认证 创建API时,为API调用增加身份认证,如使用IAM认证或API网关提供的APP认证,防止API被恶意调用。 设置访问控制策略 从IP地址(或地址区间)以及账号等不同维度,设置白名单/黑名单。 将API绑定流控策略,通过流控策略保护API。 API网关默认API流量控制为每秒200次,如果您的后端服务不能支撑单个API 200次/秒的调用请求,可设置流量控制策略,将限额调低。 父主题: API安全
  • 怎样保证API网关调用后端服务器的安全? 通过以下方法确保API网关调用后端服务器的安全: 为API绑定签名密钥。 在绑定签名密钥后,API网关到后端服务的请求增加签名信息,后端服务收到请求后计算签名信息,验证计算后的签名信息与API网关的签名信息是否一致。 使用HTTPS对请求进行加密。 需要确保已有相应的SSL证书。 使用后端认证: 您可以对后端服务开启安全认证,只受理携带正确授权信息的API请求。在创建API的定义后端服务阶段,可以开启后端认证。 父主题: API安全
  • API网关如何开放部署在华为云上的服务? 如果部署在华为云上的服务绑定了公网IP地址,在API网关中创建API时,使用公网IP地址:端口号作为后端服务地址。如果此服务已绑定域名,则优先使用域名作为后端服务地址。创建API的详细步骤请参见创建API。 如果部署在华为云上的服务无公网IP地址,则将此服务的访问方式设置为VPC内网访问,在API网关中创建API时,通过VPC通道访问部署在VPC内的此服务。创建VPC通道和API的详细步骤请参见创建负载通道和创建API。 父主题: 其他
  • API、环境、应用(凭据)之间的关系? API可以被发布到不同的环境中。比如RELEASE和BETA两个环境,分别代表线上和测试环境。 应用(凭据)指代一个API调用者的身份。创建应用(凭据)时,系统会自动生成用于认证该身份的应用(凭据)key&secret。将指定的API授权给指定应用(凭据)后,该应用(凭据)的持有者才可以调用已发布到环境中的指定API。 同一个API发布到不同的环境时,可以为之定义不同的流控策略并授权给不同的应用(凭据)。举例,API v2版本在测试过程中,可以发布到BETA环境,并授权给测试应用(凭据),而API v1版本是稳定版本,可以在RELEASE环境中,授权给所有用户或应用(凭据)使用。 父主题: 其他
  • 应用(凭据)问题汇总 Q:最多支持创建多少个应用(凭据)? 每个用户最多创建50个应用(凭据)。包括您自行创建的凭据和在云商店购买API生成的APP。 Q:APP认证的API,怎样实现不同的第三方之间无法知道对方调用情况? 创建多个应用(凭据),并绑定同一个API,分发给不同的第三方不一样的应用(凭据)。 Q:APP认证的API,有没有限制可以给多少个第三方使用? 没有限制。 Q:APP认证的API,是否需要自己创建应用(凭据)? 是,需要自行创建应用(凭据),并绑定API。创建完成应用(凭据)后,系统自动生成AppKey和AppSecret,将AppKey和AppSecret给第三方,就可以直接调用此API了。 Q:APP认证的API,第三方怎么调用? 您需要把AppKey和AppSecret提供给第三方,然后第三方通过SDK调用。具体SDK的调用步骤请参见使用APP认证调用API。 父主题: API调用
  • 为什么分组跨域配置失败? 检查是否开启CORS。 进入API详情,单击“编辑”,查看是否开启CORS。如果没开启CORS,请开启。 检查是否创建OPTIONS方式的API,每个分组只需创建一个OPTIONS方式的API。 参数配置如下: 所属分组:选择已开启CORS的API所在分组。 请求方法:选择OPTIONS。 请求协议:选择与已开启CORS的API相同的请求协议。 请求路径:选择与已开启CORS的API相同的请求路径或者与已开启CORS的API匹配的请求路径。 匹配模式:选择前缀匹配。 安全认证:“无认证”模式安全级别低,所有用户均可访问,不推荐使用。 支持跨域CORS:勾选。 父主题: API创建
  • 配置内网DNS 配置DNS需要配置“/etc”目录下的resolv.conf文件,指定DNS服务器的IP地址。 内网DNS服务器的IP地址与您所位于的区域相关,您可通过内网 DNS地址 表获取内网DNS服务器的IP地址。 新增内网DNS服务器有两种方法。 方法一:修改虚拟私有云的子网信息。 方法二:编辑“/etc/resolv.conf”文件。 方法二新增的内网DNS在弹性云服务器每次重启后会失效,需要重新进行配置。因此,建议使用方法一。