是否可以将HTTPS与Amazon的CloudFront CDN和CNAME一起使用?


16

我们将Amazon的CloudFront CDN与自定义CNAME挂在主域(static1.example.com)下一起使用。尽管我们可以打破这种统一的外观,并使用原始的what123wigglyw00.cloudfront.net URL来利用HTTPS,但是还有另一种方法吗?

亚马逊或任何其他类似的提供商是否提供HTTPS CDN托管?

TLS及其选择性加密是否可在某处使用(SNI:服务器名称指示)?

脚注:假设答案是否定的,但是只是希望有人知道。

编辑:现在使用Google App Engine https://developers.google.com/appengine/docs/ssl进行具有SSL支持的CDN托管。

Answers:


18

不支持带有CNAME和HTTPS的CloudFront,请参阅CloudFront CNAME文档中的第一条注释。

我认为没有任何低成本CDN可以同时支持CNAME和HTTPS,要做到这一点,它们必须为您提供一些将未加密证书上传到其CDN网络的方法。


2
或以与Google通过Google Apps和eNom / GoDaddy提供DNS配置相同的方式进行代理。en.wikipedia.org/wiki/Server_Name_Indication将来有希望,我想知道是否有任何提供商已经开始试用此功能。
Metalshark,2010年

1
请注意,在2016年:此答案已过时,请参阅下面的John Mark Mitchell的答案
本杰明

16

请注意下面的编辑和更新

在撰写本文时(2012年5月23日),通过CloudFront分发URL支持SSL 只要。意思是,您不能CNAME SSL URL。 具体而言,您可以通过SSL引用以下项目:

https://[distribution].cloudfront.net/picture.jpg

但不是:

https://cdn.mydomain.com/picture.jpg

其中cdn.mydomain.com是[distribution] .cloudfront.net的CNAME。目前,您会收到SSL错误。

这意味着您将无法使用域名或SSL证书。这可能导致浏览器中的跨域策略出现问题,并给站点维护增加撤消复杂性。

AWS员工向我保证,对分发CNAME的HTTPS支持已列在其功能列表中,但它需要社区支持才能确定优先级。为了帮助完成这项工作,请填写CloudFront调查(请参阅下文),并注意此功能要求。AWS员工使用从调查中收集的数据来计划和确定CloudFront路线图的优先级。

请务必注意,在进行CloudFront调查时需要HTTPS CNAME支持:http ://aws.qualtrics.com/SE/ ? SID=SV_9yvAN5PK8abJIFK

编辑:注意到2012年6月11日发布的帖子,AWS已更新调查链接:

新调查链接:http : //aws.qualtrics.com/SE/?SID=SV_e4eM1cRblPaccFS

我认为值得花时间向他们提供有关使CNAME + SSL成为受支持功能的反馈。

编辑:2013年6月11日宣布,CloudFront on AWS现在支持具有专用IP的自定义SSL证书

请参阅AWS博客上的功能公告:http : //aws.typepad.com/aws/2013/06/custom-ssl-domain-names-root-domain-hosting-for-amazon-cloudfront.html

在考虑采用此路由之前,需要考虑的一项内容是,您需要看到偏离https:// [distribution] .cloudfront.net路由的重要价值,因为托管自定义SSL证书的价格为每月600美元。

编辑:2014年3月5日宣布,AWS上的CloudFront现在支持使用服务器名称指示(SNI)的自定义SSL证书 -不收取额外费用:

AWS现在通过SNI支持自定义SSL证书。这是巨大的,因为它打开了利用AWS现有基础架构(IP地址)的可能性。因此,AWS不会对此服务收取额外费用!要了解更多信息,请参阅AWS博客文章:http : //aws.typepad.com/aws/2014/03/server-name-indication-sni-and-http-redirection-for-amazon-cloudfront.html

不过,应该指出的一项是,服务器名称指示(SNI)确实存在一些缺点,因此在完全依赖它之前应该加以考虑。特别是某些旧版浏览器不支持此功能。如果想更好地理解这一点,请参见:https : //stackoverflow.com/questions/5154596/is-ssl-sni-actually-used-and-supported-in-browsers

编辑:AWS在2016年1月21日宣布,他们将免费提供自定义SSL证书!

要在AWS网站上阅读完整的公告,请访问:https : //aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/

亚马逊宣布了一项名为AWS Certificate Manager的新服务,该服务为AWS资源提供免费的SSL / TLS证书。

这些证书通常是从第三方证书提供商(例如Symantec,Comodo和RapidSSL)购买的,价格可能在50美元到数百美元之间,具体取决于执行的身份验证级别。

获取新证书的过程始终有些混乱,需要在受保护的服务器上生成证书签名请求,然后将该请求发送给证书提供者,然后在收到证书后再进行安装。由于Amazon管理着整个流程,所有这些都将消失,并且可以快速颁发证书并自动在AWS资源上进行供应。

证书有一些限制。亚马逊仅提供域验证证书,这是一种通过电子邮件进行域验证的简单验证。如果您需要扩展验证证书,则可以坚持使用其当前的证书提供者。此外,证书不能用于代码签名或电子邮件加密。


3
developers.google.com/appengine/docs/ssl记录了它。在尝试让AWS支持该功能2年之后,在竞争对手已经发布该功能时对其进行投票是为时太晚。
Metalshark

cmon AWS,我同意@Metalshark和该线程上的每个人。我刚刚填写了AWS Cloudfront荒谬的反馈表来倡导CNAME-HTTPS,但如果Google App Engine提供了该反馈并且这个问题已经2年了,您就必须尽快采取行动!
蒂姆·彼得森

我在Google App Engine页面上看不到有关CDN的任何内容。AWS已经为其他所有内容提供免费的SSL支持,但是CDN支持却更加困难。不要引用我,但我怀疑是因为涉及多个IP地址。
罗珀特·罗恩斯利

约翰,感谢您不断更新此答案。我刚刚删除了一些已纳入答案的过时评论。如果您只是删除过时的信息而不是使用删除线,则可能更容易阅读答案。通过单击上次编辑答案时显示的链接,可以获得答案的完整修订历史记录。
斯蒂芬·奥斯特米勒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.