我正在遵循serverless-stack指南,并在Amazon S3存储桶中托管了一个网站。我使用GoDaddy购买了一个域,并设置了Cloudfront来使用此存储桶,然后使用AWS证书管理器为我的域(www.my_domain.com
和my_domain.com
)生成SSL证书。
然后,在GoDaddy中,我将DNS转发配置为指向我的云资源。
这一切都很好,如果我在浏览器中转到my_domain.com
,则可以看到我的网站。
但是,我无法使用SSL。如果我转到网站的https://
版本,则在Chrome地址栏中会看到一个not secure
错误,该错误会显示指向shortener.secureserver.net
而不是我自己的网站的证书。
有人可以指出我的解决方法吗?透过S.E.并使用Google似乎可以使用Amazon的route53
来提供帮助,但是我不知道该怎么做。
谢谢!
(编辑)为了更清楚一点,这就是我连接到https://my_website.com
或https://www.my_website.com
时在Chrome中看到的内容
警告消息:
证书详细信息:
我不明白的是为什么在为我的域配置AWS证书后,看到的是shortner.secureserver.com
的证书,而不是my_website.com
的证书。
答案 0 :(得分:0)
在定义CloudFront时,可以定义是否要使用,并且只能选择HTTPS。在这种情况下,HTTP请求将自动重定向到HTTPS。请记住,CloudFront更改可能需要一段时间才能被复制,并且您的浏览器也会对其进行缓存,因此最好的方法是进行更改,等待部署,然后在新的认知浏览器中进行检查。
毋庸置疑,您的证书也必须有效并经过验证。
答案 1 :(得分:0)
事实证明这是not possible with GoDaddy。如果其他人也遇到类似的问题,则当前的解决方案是取消您的域名注册并向其他人注册。
答案 2 :(得分:0)
您的证书或域可能有问题。
如果您通过HTTPS提供内容,则必须在Cloudfront中提供SSL证书。你做完了吗?
您是否已将域添加到备用域名(CNAME)上?
请看下图:
-> AWS提供了与Cloudfront一起使用的免费SSL证书,因此您可能想要使用它(比从go daddy导入SSL更容易)。
您可以在AWS上创建免费的SSL证书,并将其轻松附加到您的Cloudfront发行版中。
-> ,您还可以将域转移到AWS Route53。它很容易与任何AWS服务集成,并且易于使用/维护:)
我在博客上写了一个完整的指南,告诉您如何添加自定义SSL并将自定义域附加到Cloudfront发行版,这可能很有用:)
https://lucasfsantos.com/posts/deploy-react-angular-cloudfront/
答案 3 :(得分:0)
Go daddy 有问题,不重定向到 https,有两种方法,第一种是更改域名注册商,第二种是最简单的,即:在 AWS 路由器 53 上使用您的域名创建托管区域>
创建 2 个 A 类记录,一个用于(您的域的)根目录,另一个用于指向您的云前端的 www。路由器 53 允许您创建没有 IP 的类型 A 记录,因为它直接指向您指定的云前端实例,这是最好的
然后在 go daddy 中,它为您提供了更改名称服务器的选项,并将 aws 分配的名称服务器放在托管区域中,记录为 NS,然后您将这 4 个放在 Godaddy 中,替换那些具有
注意:在更换它们之前保存您在 GO DADDY 中的名称服务器,如果您有任何问题,您可以再次更换它们
您必须等待至少几个小时才能更新所有名称服务器,您可以使用 who.is 页面查看 DNS 是否已使用 aws 的 DNS 更新。