使用 godaddy 域的 HTTPS 连接到 cloudfront / S3

HTTPS connections to cloudfront / S3 using godaddy domain

我遵循 serverless-stack 指南并在 Amazon S3 存储桶中托管了一个网站。我使用 GoDaddy 购买了一个域,并设置了云端以使用此存储桶,然后使用 AWS 证书管理器为我的域生成 SSL 证书(www.my_domain.commy_domain.com)。 然后,在 GoDaddy 中,我将 DNS 转发配置为指向我的云端资源。 这一切都很好,如果我在浏览器中转到 my_domain.com,我就会看到我的网站。 但是,我无法让 SSL 工作。如果我访问我网站的 https:// 版本,我会在 chrome 地址栏中看到 not secure 错误,该错误显示证书指向 shortener.secureserver.net 而不是我自己的网站。

有人可以指点我解决这个问题的方法吗?翻阅S.E。并使用 google 似乎亚马逊的 route53 可能会有所帮助,但我不知道该怎么做。 谢谢!

(编辑)为了让事情更清楚,如果我连接到 https://my_website.comhttps://www.my_website.com

,这就是我在 Chrome 中看到的内容

警告信息:

证书详情:

我不明白的是,为什么在为我的域配置 AWS 证书后,我看到的是 shortner.secureserver.com 的证书而不是 my_website.com 的证书。

当你定义你的CloudFront时你可以定义你是否要使用,你可以选择只使用HTTPS。在这种情况下,HTTP 请求将自动重定向到 HTTPS。请记住,CloudFront 更改可能需要一段时间才能复制,并且您的浏览器也会对其进行缓存,因此最好的方法是进行更改,等待部署,然后在新的 Cognito 浏览器中检查它。

不用说,您的证书也必须有效且经过验证。

原来这是not possible with GoDaddy。如果阅读本文的其他人遇到类似问题,目前唯一的解决方案是取消您的域注册并向其他人注册。

(edit) 正如@aavrug 在他们的评论中提到的,亚马逊现在有一个 guide for this

您的证书或域可能有问题。

如果您通过 HTTPS 提供您的内容,您必须在 Cloudfront 中提供 SSL 证书。你这样做了吗?

您是否已将您的域添加到备用域名 (CNAME) 上?

请看下图:

-> AWS 提供 免费 SSL 证书 与 Cloudfront 一起使用,因此您可能想要使用它(比导入更容易来自 go daddy 的 SSL)。

您可以在 AWS 上创建免费的 SSL 证书并将其轻松附加到您的云端分配。

-> 您还可以将您的域转移到 AWS Route53。它很容易与任何 AWS 服务集成,并且易于 use/maintain :)

我在我的博客上写了一个完整的指南,告诉您如何添加自定义 SSL 并将自定义域附加到 Cloudfront 分发,它可能会有用:)

https://lucasfsantos.com/posts/deploy-react-angular-cloudfront/

Go daddy 有问题,没有重定向到 https,有两种方法,第一种是更改域名注册商,第二种是最简单的,即:使用您的域名在 AWS router 53 上创建一个托管区域

创建 2 条 A 类记录,一条用于(您域的)根目录,另一条用于指向您的云端的 www。 Router 53 允许你在没有 IP 的情况下创建 A 类记录,因为它直接指向你指定的云端实例,那是最好的

然后在 go daddy 中,它为您提供了更改名称服务器的选项,并将 aws 分配的名称服务器放在托管区域中,记录为 NS,然后将这 4 个名称放在 Godaddy 中,替换那些

注意:在替换它们之前,请保存您在 GO DADDY 中的名称服务器,以防您有任何问题,您可以再次替换它们

您至少要等几个小时,直到所有名称服务器都更新,您可以使用 who.is 页面查看 DNS 是否已使用 aws 更新。