【问题标题】:Using a different SSL certificate for different domains in CloudFront distribution?对 CloudFront 分配中的不同域使用不同的 SSL 证书?
【发布时间】:2018-07-03 10:11:36
【问题描述】:

我有一个 CloudFront 分配,用于在我的网站上提供静态文件(图像等)。到今天为止,它使用默认的foo.cloudfront.net 域(带有亚马逊免费的内置 SSL 证书)。

我想将此分发版切换到属于我网站一部分的“真实”域(例如media.mysite.com)。一旦我在 CloudFront 中进行此更改(例如,从其默认 CloudFront 证书切换到我自己的 *.mysite.com 证书),这会破坏我通过 https://foo.cloudfront.net 提供的现有文件吗?

如果是这种情况,那么我需要以某种方式将我网站上的所有图像源切换到新域,同时为分发启用自定义 SSL 证书,这会很棘手。

另一方面,阅读 the docs 表明 CloudFront 可能正在做一些工作来确定要使用哪个证书:

CloudFront 使用 IP 地址来识别您的分配并确定将哪个 SSL/TLS 证书返回给查看器。

...可能吗?

有没有人有过这种转换的经验,或者有没有更好的方法来切换域而不必同时更改大量的 URL 引用?

【问题讨论】:

    标签: amazon-web-services amazon-cloudfront


    【解决方案1】:

    如果我理解这个问题,

    1. 您的 CloudFront URL https://foo.cloudfront.net 将在切换到 media.mysite.com 后工作。

    2. 您需要做的就是将 CNAME foo.cloudfront.net 添加到域 media.mysite.com 并在云端分发设置中将 media.mysite.com 定义为 CNAME。此外,将您的自定义 SSL 证书添加到分发中。

    3. 不,除非您硬编码了对 Cloudfront URL 的某些依赖项,否则它不会破坏您的任何内容,直到 &。比如请求的 Origin 应该是 Cloudfront URL 等。

    CloudFront 使用 IP 地址来识别您的分配并确定将哪个 SSL/TLS 证书返回给查看器。

    回答 - 仅当您选择了专用 IP 时才会发生这种情况,这意味着您希望为所有用户提供服务,包括不支持 SNI 的客户端。 以下是使用 SNI 而不是专用 IP 时会发生的情况 -

    When CloudFront receives the request, it finds the domain name in the request header and responds to the request with the applicable SSL/TLS certificate.

    我猜你没有选择专用 IP。

    PS - 我昨天做了这个,它很顺利。在边缘位置部署 Cloudfront 需要一些时间,请耐心等待。希望这会有所帮助!

    【讨论】:

    • 谢谢 - 我可以确认这有效(例如,当我将其更改为使用我的自定义 SSL 证书时,它在我请求 foo.cloudfront.net 时为 Cloudfront 提供服务,在我访问它时为我自己的证书提供服务通过mysite.com)。
    猜你喜欢
    • 2011-04-03
    • 2016-06-17
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 2021-02-10
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多