假设我已经托管了一个 https 网站。 SSL 证书是从 Let's Encrypt 等机构获取的。
如果我想使用 CloudFlare 的 CDN 服务,我应该与其共享我的 SSL 私钥吗?例如,我希望CloudFlare缓存我网站的索引页面,这样用户对索引页面的请求就不会一次又一次地转到我的源服务器。相反,CloudFlare(充当中间人)将直接向他们提供页面。
但是,如果 CloudFlare 不知道我的 SSL 私钥,它就无法解密 HTTPS 流量(其中包含用户请求的页面 URL 等信息),因此它实际上不知道用户请求的内容。
那么CloudFlare是如何像魔术一样充当中间人的呢?您实际上不可能与它共享您的 SSL 私钥,对吗?因为如果您这样做,您基本上就相信 CloudFlare 不会做坏事(例如提供修改后的页面)。 CloudFlare 基本上可以代表您的网站做任何事情。这听起来很危险。
Cloudflare 不需要您的 SSL 证书来缓存您的网站。它使用自己的 SSL 证书来保护用户和 Cloudflare 之间的流量。然后,它使用您现有的 SSL 证书安全地连接到您的源服务器。这样,HTTPS 就可以端到端维护,而无需共享您的 SSL 私钥。 Cloudflare 作为可信中介解密并缓存内容,以便更快地为用户提供服务。