如何使用 aws 为非 aws 来源的 https 保护域?

Posted

技术标签:

【中文标题】如何使用 aws 为非 aws 来源的 https 保护域?【英文标题】:How can I use aws to secure a domain with https for a non aws origin? 【发布时间】:2020-11-24 21:35:03 【问题描述】:

我在 aws 文档中进行了搜索,但找不到任何可以帮助我为非 aws 源服务器设置云端分发以使用 https 保护我的域的内容。我正在使用路由 53 来管理域的 dns,我想为域设置 https,但它不是由 aws 托管的。如何使用 aws 通过 https 创建安全域?

更新:我已经创建了 cloudfront 发行版并将替代 cnames 设置为域(example.com 和 www.example.com)。在 Route 53 中,我将域的 A 记录(example.com)更新为别名,并将其指向云端分发,但是当我尝试访问该站点时,出现页面无法正常工作的错误。该域现在确实有他的安全挂锁,但我无法访问该站点。这是我访问该网站时遇到的错误:

【问题讨论】:

只需使用 AWS 上的证书管理器进行设置。您只需通过添加 CNAME 记录来验证所有权。 @bkunzi01 我已经这样做了。我已经生成了带有通配符的证书,以便它涵盖子域。我创建了一个云端发行版并使用了原点,它不是由 aws 托管的。但是当我访问该站点时,我收到一条消息,它无法安全连接。 @Abdi 您需要编辑您的问题以包含有关您已设置的内容和不工作的内容的所有详细信息。您确定您的域指向 Cloudfront? 【参考方案1】:

最简单的方法是在您的非 AWS 终端节点前使用 CloudFront 分配。该端点将被配置为自定义源端点。

您需要生成证书或将证书上传到ACM 以附加到资源。这必须在您可以在自己的域上使用分发之前完成,如果您在创建分发时没有它,您需要稍后对其进行编辑。

AWS 文档包括Creating a Distribution 的文档。如果您遵循这一点并将您的端点引用为自定义源,您将能够创建主机。

如果您的主机没有 HTTPS 证书,您需要确保将 Origins Origin Protocol Policy 选项配置为 HTTP Only

请注意,当 CloudFront 分配通过 Internet 与您的端点通信时,CloudFront 与您的端点之间的任何流量仍不会被加密。

【讨论】:

对。我已经创建了发行​​版,我需要在 Route 53 中做任何事情吗?创建云端分发后如何使用 https 作为域? 如果您的域位于 Route 53 中,请将记录更新为别名记录并引用您的 CloudFront 分配 CNAME。这将使您的域解析到 CloudFront,只要您将域添加为 CloudFront 的替代名称,它应该可以工作 所以,我创建了云端分发并将替代 cnames 设置为域(example.com 和 www.example.com)。在 Route 53 中,我将域的 A 记录(example.com)更新为别名,并将其指向云端分发,但是当我尝试访问该站点时,出现页面不工作错误。该域现在确实有他的安全挂锁,但我无法访问该站点。我不确定我做错了什么? 您到底遇到了什么样的错误,是否返回了任何 html 我已经更新了OP,我在主要问题中放了错误截图。

以上是关于如何使用 aws 为非 aws 来源的 https 保护域?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Elastic Beanstalk 在 Amazon AWS 上为非 Rails ruby​​ 脚本安装 Gems

AWS CloudFormation:如何从另一个AWS账户为Lambda代码指定存储桶?

如何通过 CloudFront 访问 aws websocket

如何在 AWS Elastic Beanstalk 上强制使用 HTTPS

如何在 AWS Elastic Beanstalk 上设置 HTTPS

如何在 AWS Elastic Beanstalk 上设置 HTTPS