我怀疑自己有多年,现在我决定尝试去理解它。我知道当用户点击带有SSL的网站时,所有标题都会被加密,甚至是HOST标题。
因此,为了在服务器中启用SSL,您需要为您拥有的每个证书提供一个IP,例如,如果HOST头被加密,则不知道它应该重定向哪个VHOST。
我的问题是:如果在解密发生之前它不知道HOST,Cloudflare如何知道用户正在使用哪个域来访问其CDN?
答案 0 :(得分:2)
Server Name Indication(SNI)允许TLS客户端指定他们尝试连接的主机,以便服务器有机会提供正确的证书。 大多数浏览器都支持此功能。
CloudFlare's page on their free SSL offering表示他们使用SNI。
现在,CloudFlare有多个产品。他们的付费计划实际上并不依赖于SNI(这就是他们support all browsers的原因)。只有免费计划。
对于付费计划,CloudFlare可能使用专用IP,但即使在这种情况下,他们仍然可以在单个证书下汇集多个域(使用Subject Alternative Names)。