众所周知的PaaS提供商Heroku为SSL问题提供了多种解决scheme。 其中之一是一个名为Hostname Based SSL的产品
这不是SNI。 他们声称它可以在任何configuration的每一个浏览器上工作,但是还有其他的缺点,主要是(引用文档):
基于主机名的SSL不能在根域中工作,因为它依赖于自定义域名的CNAME别名。
主机名SSL仅适用于一个域。 例如,www.domain.com可以工作,但是如果将secure.domain.com的第二个证书添加到应用程序中,则不起作用。
我们基于主机名的SSL产品目前剥离了一些HTTP头文件; 例如,当您的应用程序需要查看客户端的IP时,这可能是一个问题。
使用这个定制构build解决scheme,Heorku可以在一个IP地址上提供多个SSL站点,并声称它可以跨越任何东西。
任何人都可以解释这个产品背后的技术方面和技术?
这不是你所想的。 Heroku没有在单个IP地址上提供多个SSL证书。 例如,如果您针对不同的主机名SSL部署执行nslookup,则会发现它们都指向不同的Amazon ELB 。 那是秘密的酱汁。
当客户请求基于主机名的SSL时,会为其提供ELB,并要求客户将CNAME指定给该ELB的主机名。 那些ELB适当地连接回Heroku路由网格。
我希望能清除一些东西。 随意问更多的问题。
我不知道,所以我不得不推测。 这可以作为Heroku自己的DNS服务器和HTTP服务器之间的交互的结果。 stream程可能是这样的:
在某些情况下,stream可能会中断,尤其是对于来自单个IP地址的不同站点的许多请求(对于代理或NAT网关后面的客户端,情况就是如此),但是这可以通过传播请求来“平分”对于许多HTTPS服务器中单一来源IP的不同目标主机,因此单个HTTPS服务器在决定为给定客户端select哪个证书时不会有任何歧义。