具有S3存储桶的CNAME

时间:2020-11-08 19:11:05

标签: amazon-web-services amazon-s3 dns cname

我有一个网站,我想将其图像移动到AWS S3。假设它名为mypage.com,我可以访问如下图像:

https://mypage.com/pics/one.jpg

我创建了一个名为static.mypage.com的存储桶以将所有图像放置在此处,因此现在我可以访问像这样的图像:

https://static.mypage.com.s3.eu-west-1.amazonaws.com/pics/one.jpg

由于它是一个很长的名称,我想使用DNS的“缩写”。

因此,我想知道如何在我的DNS提供程序中设置CNAME,以便在我进入...时能够实现...

https://static.mypage.com/pics/one.jpg

...我会从存储桶中获取图像。

谢谢!

简述:我只想将对static.mypage.com的每次访问都映射到static.mypage.com.s3.eu-west-1.amazonaws.com

2 个答案:

答案 0 :(得分:2)

假设您拥有域名,则可以为存储域设置CNAME(或别名记录),只要存储桶的名称与主机名完全相同即可。但是,这不适用于HTTPS,因为提供的证书是针对amazonaws.com域的。

如果要将域作为HTTPS域访问,则应创建一个CloudFront发行版,该发行版使用S3存储桶作为源。您可以将备用名称设置为您选择的域,然后使用提供的CNAME作为DNS值。

有关更多信息,请查看How do I use CloudFront to serve HTTPS requests for my Amazon S3 bucket?文档。

答案 1 :(得分:0)

我找到了另一种避免DNS CNAME和CloudFront成本的解决方案:将其全部放入NGINX服务器中。这是一个很棒的解决方案,并通过代理缓存进行了优化。

以下是解决方法:Nginx proxy Amazon S3 resources

希望这对我有所帮助! :)