首页 > 解决方案 > 在同一个域名后面包装多个 AWS 服务

问题描述

天,

我正在尝试在后端设置三个服务 - S3、Cognito 和 GraphQL。

我想要实现的是能够将它们托管在同一个域和 CDN 后面。同域是避免处理不必要的浏览器沙箱问题(例如同源策略)的考虑因素。

此外,我还有几个环境:prod、sandbox 和 dev。

因此,我也需要进行后续设置:

我已将 CloudFront 包装在每个环境中的 3 项服务中。它工作得很好。

当我尝试进行生产时,我需要“domainname.com”和“www.domainname.com”指向“prod.domainname.com”。

这是我遇到一些问题的地方。因为 SSL 证书是颁发给 prod.domainname.com 的,所以我在映射时遇到了一些问题。浏览器出现问题,因为 SSL 没有映射新域。(例如,SSL 发给 prod.domainname.com,但 URL 是www.domainname.com)。

我尝试了一个小技巧,将 NGIX 放置在 3 个服务中,然后将 CloudFront 包裹在上面。我想知道是否有更简单的方法可以在没有 NGIX 的情况下实现这一目标?

标签: amazon-web-servicesaws-api-gatewayamazon-cloudfront

解决方案


最简单的方法是在证书中使用主题备用名称。这允许证书对多个域有效。

此 AWS 文档页面上的步骤 3 和 4涵盖了使用 AWS Certificate Manager 的内容。


推荐阅读