将来的某个时候,我可能需要构建一个专用的 SSL 场(如使用负载平衡使应用程序可扩展)或类似的东西来处理大量 SSL 流量。虽然这对我来说不是迫在眉睫的问题,但我想提前计划一下。所以我的问题是:
为此使用专用硬件是否更具成本效益,或者我是否可以重复使用应用服务器(也许使用硬件附加卡)?或者将其集成到负载平衡器中是否更好(与上述 2006 年文章所述相反)?
一些特定硬件的链接也很好 - 我目前真的不知道从哪里开始寻找。
答案1
答案2
最具成本效益的解决方案是使用 NGINX 作为反向代理,因为性价比胜过大多数硬件解决方案,如 F5 Networks Big-IP 6900。
我的 NGINX 配置:http://gist.github.com/553235
答案3
链接中的图 2 提供了构建 SSL 场的最先进的方法。
关于建立农场的方式和成本,这将取决于您的需要。
如今,在负载均衡器上使用 SSL 终止可能更便宜(即使使用专用的负载均衡器,如思科 CSS,思科 ACE,F5大IP,...但这仍然取决于负载平衡器制造商)。
负载平衡器将能够进行 L7 平衡,因为它可以看到未加密的数据。因此,您不需要 2 层负载平衡器和一些 SSL 反向代理。这可以降低成本。(购买更少的硬件,更少的机架空间,...)
但在负载均衡器上使用 SSL 终端的可扩展性不强,因此如果您发现负载均衡器开始因 SSL 而超载,那么您就会遇到问题。如果您使用专用设备,则需要升级它,这会很昂贵。如果您使用服务器构建自己的负载均衡器,则需要在新的专用服务器上卸载 SSL。
如果 L4 负载平衡足够,并且您的应用程序以较低的 CPU 使用率提供高吞吐量,那么在应用程序服务器上使用卡是一个不错的选择
。我的意思是:硬件 SSL 卡很贵,所以您希望尽可能多地使用它。
使用专用的 SSL 终端硬件,您将尽可能多地使用该卡。如果卡在应用程序服务器中,并且应用程序的吞吐量较低,那么您将不会长时间使用该卡。但如果应用程序速度很快,不会使用太多 CPU,但吞吐量很高,那么在服务器上使用专用卡进行 SSL 终端可能是一个不错的选择。通常情况并非如此。这也会降低高可用性。
答案4
由于加密要求,HTTPs 流量会产生非常高的负载。他们制作了附加卡,允许您将 SSL 加密/解密卸载到专门设计的硬件上。如上所述,您可以在负载平衡器上终止 SSL,这将降低成本,因为(至少对于 F5)这些设备附带此 SSL 卸载设备。或者,您可以购买这些设备并直接安装在您的服务器上,但我不确定这在 VMWare 上如何工作。也可以使用负载平衡器卸载压缩。