我可以在 CDN 和源站上使用相同的 SSL 证书吗?

我可以在 CDN 和源站上使用相同的 SSL 证书吗?

这是一个非常简单的问题,我有一个由 DigiCert 颁发的证书,已经在我的原点安装了它,并且我想将它用于 CDN。

我开始在我的原点前面配置 Akamai CDN,但他们说他们会为我购买一个证书以便安装在他们的节点上,我想知道为什么他们不使用与我相同的证书。

我在 CloudFlare 上找到了一个上传我自己的证书的选项,但是我还没有测试它,所以我不确定它是否可以在那里工作。

是否有人使用过这两种 CDN,或者能从技术上解释一下为什么这真的不可能吗?

答案1

我使用另一个 CDN (CloudFront),并且我在 CDN 和源上都拥有相同的证书。我假设 Akamai 还将 HOST 标头转发到源,因此只要这与您的证书匹配,您就没问题。

我假设您需要进行如下设置:

  • 确保指向您的 CDN 的 DNS 记录与您在 Akamai 中配置的证书匹配。
  • Akamai 会将请求转发到您的原点,同时保留 HOST 标头。
  • 您的源将使用已配置的 SSL 证书验证 HOST 标头。

答案2

大多数使用 CDN 的网站都使用子域名(例如 cdn.yourwebsite.com)来交付静态资产。这意味着,为了通过 SSL 交付 CDN 资产,您需要“cdn”子域名的证书。

如果您已经在源站安装了 SSL 证书,则它可能对 yourwebsite.com 和 www.yourwebsite.com 有效,但不对 cdn.yourwebsite.com 有效。

因此您有以下几种选择:

  • 为 cdn.yourwebsite.com 购买 SSL 证书
  • 购买对 *.yourwebsite.com 有效的通配符证书
  • 使用支持 Lets Encrypt 的 CDN 并为您的“cdn”子域提供免费的 SSL 证书。

我建议你看一下cdn比较了解有关流行 CDN 提供商之间存在的差异的更多信息。

答案3

Akamai 有一个奇怪的证书配置系统 (CPS),它可能非常混乱。他们不允许您上传证书给他们。但是,您可以反向操作,在 Akamai CPS 中创建 CSR(作为第三方证书),将其带到您的 CA,在 Akamai 中完成,然后将该证书导入您的原点。

注意:完成 CSR 时,您必须确保顺序正确,否则该请求将无效,您必须获取另一个证书。

相关内容