使用GoDaddy域名建立HTTPS连接到CloudFront/S3

5
我正在遵循 serverless-stack 指南,并在 Amazon S3 存储桶中托管一个网站。我使用 GoDaddy 购买了域名,并设置了 cloudfront 与此存储桶一起使用,然后使用 AWS 证书管理器为我的域名生成了 SSL 证书(包括 www.my_domain.commy_domain.com)。
在 GoDaddy 中,我配置了 DNS 转发以指向我的 CloudFront 资源。这一切都很好,如果我在浏览器中输入 my_domain.com,我就可以看到我的网站。
但是,我无法让 SSL 正常工作。如果我使用浏览器访问 https:// 版本的我的网站,那么我会在 Chrome 地址栏中看到一个 不安全 错误,该错误显示一个指向 shortener.secureserver.net 的证书,而不是我的网站。
有没有人能指点我如何解决这个问题?查阅 StackExchange 并使用 Google,似乎 Amazon 的 route53 可能有所帮助,但我无法弄清楚如何做到这一点。 谢谢!
(编辑)为了让事情更加明确,这是我在 Chrome 中连接到 https://my_website.comhttps://www.my_website.com 时看到的内容:
警告信息: enter image description here 证书详情: enter image description here 我不明白的是,为什么在为我的域名配置 AWS 证书之后,我会看到指向 shortner.secureserver.com 的证书,而不是指向 my_website.com 的证书。

1
对于正在遇到同样问题的人,请尝试按照 https://docs.aws.amazon.com/amplify/latest/userguide/to-add-a-custom-domain-managed-by-godaddy.html 进行操作。 - aavrug
谢谢。我不再使用Godaddy了,但我已经更新了我的采纳答案,这样其他人就可以找到你给的链接。 - os1
4个回答

2
Go Daddy有问题,无法重定向到https,有两种方法,第一种是更改域名注册商,第二种是最简单的,即:在AWS路由器53上创建托管区与您的域名

创建2个A记录类型,一个用于根(您的域名)和一个用于www,指向您的云前端。路由器53允许您创建一个A记录类型而不需要IP,因为它直接指向您指定的云前端实例,这是最好的

{{link1:“在此输入图像描述”src}} 然后在GoDaddy中,它提供了更改名称服务器的选项,并将由AWS分配的名称服务器放入托管区,并在其中放置一个记录,该记录说NS,您将这4个放入Godaddy中,替换原有的那个

注意:在替换之前,请保存您在GoDaddy中拥有的名称服务器,以防出现任何问题,您可以再次替换它们 {{link2:“在此输入图像描述”src}}

你需要等待至少几个小时,直到所有的名称服务器都更新完毕。你可以使用 who.is 页面来查看 DNS 是否已经更新为 aws 的 DNS。

1
原来这在GoDaddy上是不可能的。如果有其他人遇到类似问题,目前唯一的解决方法是取消您的域名注册并转向其他服务商。
(编辑)正如@aavrug在他们的评论中提到的那样,亚马逊现在有一个指南

0

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

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

HTTPS-HTTPS Configuration


谢谢,但我已经选择了那个选项。问题不在于https,而是证书显示的地址错误。 - os1
你能分享一下如何配置证书吗?通常你可以为整个域定义一个证书。 - Cleriston
我添加了一些更多的信息,希望能有所帮助。 - os1
你是否在使用证书管理器?只需开始输入域名,它就会自动完成。如果浏览器显示此消息,则是因为您的证书不正确。 - Cleriston
是的,我知道。那就是我正在努力解决的问题。 - os1

0
可能是您的证书或域名有问题。
如果您通过HTTPS提供内容,必须在Cloudfront中提供SSL证书。您做到了吗?
您是否已将您的域名添加到备选域名(CNAME)中?
请查看下面的图片:

Cloudfront SSL

-> AWS提供免费的SSL证书,可用于Cloudfront,所以你可能想使用它(比从GoDaddy导入SSL更容易)。

你可以在AWS上创建一个免费的SSL证书,并轻松地将其附加到你的Cloudfront分发中。

-> 你还可以将你的域名转移到AWS Route53。它很容易与任何AWS服务集成,并且易于使用和维护:)

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接