我试图了解当涉及 CDN 时,TLS 如何在客户端和源之间终止。
我认为当客户端直接连接到源时,这非常简单,可以为与源服务器关联的任意数量的证书/SAN 成员建立握手。
但如果我需要 CDN 怎么办?如果不上传相同的源证书并将其配置为从 CDN 呈现,是否无法在我的源之前使用第 3 方 CDN?
我知道不同的 CDN 处理事情的方式不同。例如,Google CDN 似乎能够通过应用于上游 GCP LB 的证书来正确终止 TLS。这是不是只有 GCDN 才能做到的特殊事情,因为它们与 GCP 紧密集成?
理想情况下,我希望能够在自己的来源托管自己的证书,并且只需将 CDN 通过 TCP 直接发送到来源,以便客户端和来源服务器可以通过零额外配置进行端到端认证和加密在 CDN 上,而 CDN 仍然负责缓存部分。但听起来这似乎是不可能的?
client => cdn => origin(cert)