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

上次更新日期:2020 年 12 月 16 日

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

简短描述

为与 Amazon VPC 关联的 API 网关接口 VPC 终端节点启用私有 DNS 时,最常出现此 HTTP 403 错误。发生这种情况时,从 VPC 向 API Gateway API 发出的所有请求都解析到该接口 VPC 终端节点。但是,无法使用 VPC 终端节点连接到公共 API。

如果接口 VPC 终端节点禁用私有 DNS,或者您的 Amazon VPC 中没有终端节点,请参阅以下已禁用私有 DNS 部分。

解决方案

确认是否为与 Amazon VPC 关联的接口 VPC 终端节点启用了私有 DNS

检查您的 Amazon VPC,查看是否有访问私有 API 网关 API 的接口 VPC 终端节点。如果存在接口终端节点,请检查它是否启用了私有 DNS 设置。有关更多信息,请参阅 VPC 中的 DNS 支持

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

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

重要提示:VPC 中尝试连接到公共 API 的资源必须具有互联网连接。注意:配置区域自定义域名的 DNS 记录时,您必须使用 A 类别名记录。不过,对于边缘优化自定义域名,您可以使用 A类别名记录或 CNAME 记录。有关更多信息,请参阅在 API Gateway 中为 API 设置自定义域名

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

如果接口 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 支持


这篇文章对您有帮助吗?


您是否需要账单或技术支持?