我想使用Amazon S3和CloudFront托管仅限HTTPS的静态网站。这是我到目前为止所做的:
www
子域添加了CNAME记录。到目前为止,非常好 - 我可以使用www.example.com
地址访问我的网站。但是,我希望该网站仅通过HTTPS提供,我从GoDaddy购买了SSL证书。
现在,问题是:
答案 0 :(得分:61)
是的,截至今天,您可以免费使用。
您现在可以在CloudFront上使用带有CNAME的HTTPS,因为它现在支持使用服务器名称指示(SNI)的自定义SSL证书:http://aws.typepad.com/aws/2014/03/server-name-indication-sni-and-http-redirection-for-amazon-cloudfront.html
我设法在S3上为我的CloudFront分布式静态站点设置了免费的Class 1 StartSSL证书而没有太多麻烦(参见:CloudFront error when serving over HTTPS using SNI)。
答案 1 :(得分:35)
2016-01-21 AWS推出 AWS证书管理器,这是一项免费服务,允许您颁发SSL证书以与Elastic Load Balancer一起使用云前线(以及S3)。
您可以在以下网站了解详情: https://aws.amazon.com/certificate-manager/
您可以在以下网址查看如何使用来自AWS的免费SSL部署S3 + Cloudfront网站: https://aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/
答案 2 :(得分:17)
截至今天,Cloudfront提供自定义SSL:http://aws.amazon.com/cloudfront/pricing/
请记住,他们每月收费600美元。有关上述链接的更多详细信息。
答案 3 :(得分:3)
对我来说,我必须将一个简单的React网站上传到S3。 正如barbolo所描述的,您需要一个证书才能通过SSL访问网站。 如果您要部署的静态站点足够简单,您可以:
e.g。从/css/media.css你应该将它转换为https://s3-region-amazonaws.com/bucket-name/css/media.css(对我来说,我只需要更改index.html中的链接)
多数民众赞成。您可以通过https访问索引文件。
简单网站是一个主索引文件指向某些css和js页面的网站。
答案 4 :(得分:0)
除了@ wikichen的回答。
来自:https://aws.amazon.com/cloudfront/custom-ssl-domains/
默认情况下,您可以使用网址中的CloudFront分配域名将您的内容通过HTTPS传送给观看者,例如https://dxxxxx.cloudfront.net/image.jpg。
如果您想使用自己的域名和自己的SSL证书通过HTTPS提供内容,则可以使用我们的自定义SSL证书支持功能之一。