网络是一个公共基础设施:任何人都可以使用它。加密是确保通过此公共基础设施进行的通信安全且私密的必要条件。您不希望任何人读取或修改您发送或接收的数据,例如支付在线服务时的信用卡信息。
TLS 加密是一种基本但至关重要的保护措施,可确保只有客户端(用户的设备,如笔记本电脑)和服务器可以读取您的请求和响应数据;第三方被锁定。您可以在 CDN 上运行 TLS 以改善性能、缓存和 TLS 管理。如果您想了解有关 TLS 的更多信息以及在 CDN 上运行它如何改善您的基础设施,那么这里就是正确的起点。
什么是 TLS 加密?它为何重要?
TLS,即传输层安全性,可对通过 Web 发送的数据进行加密,以防止其在传输过程中被查看或更改。因此,它被称为传输加密技术。TLS 与 HTTP 或 SSL 一起使用时也通常称为 HTTPS,因为该技术的先前版本基于它。TLS 可确保高加密性能和前向保密性。
TLS 是网络的重要组成部分,因为它确保了最终用户和搜索引擎的信任。最终用户可以放心,他们的数据(如网上银行信息或孩子的照片)不会被访问。搜索引擎知道受 TLS 保护的信息是值得信赖的,因此它们对受 TLS 保护的信息的评级高于不受保护的内容。
TLS 和 CDN 之间有什么联系?
CDN (即内容分发网络)通过从其自己的服务器(而不是您网站的服务器)分发内容来帮助提高您网站的性能。当 CDN 使用 TLS 时,它可以确保您的内容在从您的服务器传输到 CDN 以及从 CDN 传输到您的用户时得到加密。
借助 TLS 卸载,您的服务器只需为每个 CDN 节点加密内容,而无需为每个用户加密内容。这可以减少服务器的工作负载。
以下是其工作原理的简单分解:
- 您的服务器对内容进行一次加密并将其发送到 CDN。
- CDN 缓存此加密内容。
- 当用户请求内容时,CDN 会直接向他们提供内容,处理所有加密并减少反复联系服务器的需要。
如果没有 CDN,您的服务器就必须对内容进行加密,并单独发送给每个用户,这会降低速度。有了 CDN,您的服务器只需为 CDN 加密一次内容。然后 CDN 接管,加密内容并将其提供给所有用户,从而加快处理速度并减少服务器负载。
将 TLS“卸载”到 CDN 的好处
将 TLS 卸载到 CDN 可以改善您的基础设施,提高性能、改善缓存并简化 TLS 管理。
提高性能
建立 TLS 连接时,客户端和服务器必须交换信息以协商会话密钥。此交换涉及通过网络发送四条消息,如图 2 所示。两个参与者之间的延迟越高,建立连接所需的时间就越长。CDN 节点通常更靠近客户端,从而降低延迟并加快连接建立速度。
如上所述,CDN 节点处理所有加密任务。这样可以释放服务器资源以用于其他任务,并允许您简化其代码库。
图 2:TLS 握手
改进缓存
如果您的数据已加密,CDN 就无法缓存它。对于每个新的 TLS 连接,单个文件在 CDN 节点上看起来都会有所不同,从而消除了 CDN 的优势(图 3)。如果 CDN 持有证书,它可以与客户端协商加密并以纯文本形式从您的服务器收集文件。这使得 CDN 能够有效地缓存内容并更快地将其提供给用户。
图 3:TLS 与 CDN 缓存比较
简化的 TLS 管理
CDN 负责证书颁发、轮换和自动续订等维护任务。使用 CDN 管理 TLS,您的服务器代码库可以得到简化,您不再需要担心将来可能出现的 TLS 更新。
使用 Gcore CDN 进行 TLS 加密
借助 Gcore CDN,我们不仅能处理您的 TLS 加密,还能处理文件压缩和 DNS 查找。这样,您可以减轻服务器的非功能性需求,从而减少代码库的负担,使其更易于维护,降低 CPU、内存和流量影响,并减轻管理这些服务器的团队的工作负担。
Gcore CDN 提供两种 TLS 卸载选项:
- 免费的 Let's Encrypt 证书具有自动验证功能,是满足简单安全需求的有效选择
- 付费定制证书,如果您的 TLS 设置有更复杂的要求,这是理想的选择