我从 VPC 连接到 API Gateway API 时,为什么会收到 HTTP 403 禁止错误?

上次更新时间:2020 年 2 月 17 日

我在从我的 Amazon Virtual Private Cloud (Amazon VPC) 调用 Amazon API Gateway API,但我收到 HTTP 403 禁止错误。这是什么原因?

简短描述

如果您从某个 Amazon VPC 连接到您的 API Gateway 公有 API 时收到此错误,请检查在启用私有 DNS 的情况下,API Gateway 是否有一个与该 VPC 关联的接口 VPC 终端节点。当与某个 VPC 关联的接口 VPC 终端节点启用了私有 DNS 时,从该 VPC 到 API Gateway API 的所有请求都将解析到该 VPC 终端节点,且您无法使用 VPC 终端节点连接到公有 API。

解决方法

检查您的 Amazon VPC 以确认您(或具有您的 AWS 资源的共享访问权限的其他 AWS Identity and Access Management (IAM) 身份创建了接口 VPC 终端节点来访问私有 API Gateway API。如果存在接口终端节点,请检查它是否启用了私有 DNS 设置。有关更多信息,请参阅 VPC 中的 DNS 支持

在启用私有 DNS 的情况下连接到公有 API

如果启用了私有 DNS,则使用边缘优化自定义域名区域自定义域名连接到您的公有 API。

注意:配置区域自定义域名的 DNS 记录时,您必须使用 A 类别名记录。不过,对于边缘优化自定义域名,您可以使用 A类别名记录或 CNAME 记录。有关更多信息,请参阅在 API Gateway 中为 API 设置自定义域名

在禁用私有 DNS 的情况下连接到公有 API

如果 API Gateway 的接口 VPC 终端节点禁用了私有 DNS,或者您的 Amazon VPC 中没有接口终端节点,请确认:

当您的 Amazon VPC 具有访问公共 API 的权限时,请使用公共 DNS 连接您的公共 API。有关更多信息,请参阅在 API Gateway 中控制和管理对 REST API 的访问

(可选)更改接口 VPC 终端节点的私有 DNS 设置

您可以更改接口 VPC 终端节点的私有 DNS 设置。更改此设置将会禁用或启用到该接口 VPC 终端节点的私有 IP 的 API 暂存 URL 分辨率。

注意:更改此设置还会影响您从 Amazon VPC 连接您的私有 API公有 API 的方式。

  1. 打开 Amazon VPC 控制台的终端节点窗格
  2. 选择您的接口 VPC 终端节点。
  3. 选择操作,然后选择修改私有 DNS 名称
  4. 对于启用私有 DNS 名称,选中或清除复选框(为此终端节点启用)。
  5. 选择修改私有 DNS 名称

有关更多信息,请见 查看和更新您的 VPC 的 DNS 支持


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?