【发布时间】:2019-12-11 12:31:06
【问题描述】:
我使用 S3 来托管我的静态网站(它是一个 Angular 页面)和 Route 53 以便能够使用我拥有的域。 (我在 Hostgator 购买了域名)。每当我在这里说和使用“example.com”时,请注意它与我购买的域名相同。在 S3 中,我必须存储桶。我们称它们为 www.example.com 和 example.com。 example.com 拥有应用程序本身,它被设置为静态网站托管。它还具有适当的存储桶策略的公共许可。 www.example.com 只是一个重定向存储桶,它被设置为一个静态网站托管,仅用于重定向请求。在此存储桶中,“目标存储桶或域”是“example.com”存储桶。
在 Route 53 中,我有一个名为“example.com”的托管区域。在那里,我有 4 个记录集。两个用于设置我购买的用于 AWS 的域。它是一个“NS - 名称服务器”和一个“SOA - 授权开始”。它们已正确配置为托管我的域名。另外两个是“A - IPv4 地址”,一个名为“example.com”,另一个名为“www.example.com”。在这两种情况下,别名目标是我在 S3 中的“example.com”存储桶。
到目前为止,我一直在关注文档,并且效果很好。我可以在浏览器中输入“example.com”或输入“www.example.com”来加载我的域,这会重定向到“example.com”并加载我的应用程序。到目前为止,一切都很好。该应用程序正在运行,但当然没有 SSL 证书。
然后我在 CloudFront 创建了一个分配来使用我的 SSL 证书。在分发中,我将 Origin 设置为 S3 上我的“www.example.com”存储桶的端点。我设置为 www.example.com、example.com 的 CNAMEs 属性。我使用了我的 SSL 证书,一切都很好地部署了发行版。到目前为止一切顺利...
在 AWS S3,在 www.example.com 存储桶中,在重定向请求的协议中,我将其设置为“https”,如文档所述。
然后,在 Route 53 中,我使用我创建的 CloudFront 分配设置了前面提到的两个“A - IPv4 地址”记录集的别名目标。
就是这样。应该完成,但是当我使用浏览器访问“example.com”时,总是会收到此错误:
'err_too_many_redirects'
有趣的是 URL 变得安全了,带有 https 和绿色挂锁。但是应用程序没有加载。从 www.example.com 到 example.com 的重定向仍然有效。
文档:
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/tutorial-redirecting-dns-queries.html
https://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html
【问题讨论】:
标签: amazon-web-services ssl amazon-s3 amazon-cloudfront amazon-route53