我如何为我的 API Gateway API 自定义域名?

2 分钟阅读
0

我想为 Amazon API Gateway API 使用自定义域名,而不是默认的基本 URL。我该如何设置?

简短描述

您可以为 API Gateway API 创建两种类型的自定义域名:区域或(仅适用于 REST API)边缘优化

注意:私有 API 不支持自定义域名

要为 API Gateway API 设置自定义域名,请执行以下操作:

以下是区域和边缘优化的自定义域名之间的一些主要区别。

目标终端节点差异

区域自定义域名使用区域 API 终端节点

边缘优化的自定义域名使用 Amazon CloudFront 分配

SSL/TLS 证书差异

区域自定义域名必须使用与 API 位于同一 AWS 区域的 SSL/TLS 证书。

边缘优化的自定义域名必须使用位于以下区域的证书:美国东部(弗吉尼亚北部)(us-east-1)

自定义域名差异

区域自定义域名可以由位于不同 AWS 区域的其他区域自定义域名共享。

边缘优化的自定义域名是唯一的,不能与多个 CloudFront 分配相关联。

域名映射差异

WebSocket API 的区域性自定义域名不能映射到 REST API 或 HTTP API。但是,区域性自定义域可以与 REST API 和 HTTP API 相关联。

对于 REST API,边缘优化的自定义域名和区域性自定义域名都可以具有边缘优化 API 终端节点区域性 API 终端节点或两者的映射。

对于 WebSocket API 和 HTTP API,TLS 1.2 是唯一受支持的 TLS 版本。

解决方法

请求或导入 SSL/TLS 证书

在为 API 创建自定义域名之前,您必须执行以下操作之一:

  • 从 AWS Certificate Manager (ACM) 请求 SSL/TLS 证书。
    –或者–
  • 将 SSL/TLS 证书导入 ACM。

注意: 有关更多信息,请参阅在 AWS Certificate Manager 中准备好证书

在请求或导入证书时,请记住以下几点要求:

  • 为了通过域验证检查,证书必须包含自定义域名作为备用域名。
    **注意:**有关使用 CloudFront 分配进行验证检查(针对边缘优化的自定义域名)的更多信息,请参阅持续增强 Amazon CloudFront 上的域安全性。区域性自定义域名具有类似的验证检查。
  • 对于边缘优化的自定义域名,ACM 证书必须位于以下区域:美国东部(弗吉尼亚北部)(us-east-1)
  • 对于区域自定义域名,ACM 证书必须与您的 API 位于同一区域内。

为 REST API、HTTP API 或 WebSocket API 创建自定义域名

对于 REST API,请按照为 REST API 设置自定义域名中的说明操作。

对于 HTTP API,请按照为 HTTP API 设置自定义域名中的说明操作。

对于 WebSocket API,请按照为 WebSocket API 设置自定义域名中的说明操作。

将流量路由到您的 API Gateway API

使用 Amazon Route 53 将流量路由到您的自定义域。这使您可以进一步控制用户在访问您的域时可以访问的资源。

按照配置 Route 53 以将流量路由到 API Gateway 端点中的说明进行操作。

  • 配置 Route 53 时,必须创建公有或私有托管区。对于面向互联网的应用程序,想要将其资源提供给用户,请选择公有托管区。有关更多信息,请参阅使用托管区
  • Route 53 使用记录来确定将域的流量路由到何处。别名记录可以更轻松地对 AWS 资源进行 DNS 查询,而 CNAME(非别名)记录可以将 DNS 查询重定向到 AWS 资源之外。有关更多信息,请参阅在别名和非别名记录之间做出选择

通过使用新的自定义域名调用 API 来测试设置

1.    使用创建自定义域名时指定的基本路径映射在域名上运行 curl 命令。
**注意:**如需关于 curl 的更多信息,请参阅 curl 项目网站

2.    验证对自定义域名的响应是否与调用 API 阶段 URL 时收到的响应相同。


相关信息

将自定义域名迁移到其他 API 端点

申请公有证书

相关视频

AWS 官方
AWS 官方已更新 1 年前