需要为移动应用设置可扩展的后端基础架构。与 API 的连接需要 SSL 加密。为了实现简单的可扩展解决方案,我不想在负载平衡器上终止 SSL。因此,我的选择是在应用/Web 服务器或单独的终止层中终止它。到目前为止没有问题。
我们知道 SSL 握手需要几次往返,这不幸会导致延迟。一个常见的解决方案是缓存 SSL 会话。但为了保持堆栈可扩展性和负载平衡,我不想使用会话粘性并保持我的服务器无状态。所以我需要使用中央/分布式 SSL 会话缓存,但据我所知,选项有限。
我知道的一些选项:
- NGINX 作为 SSL 终止器,使用 memcached 会话缓存(http://hezmatt.org/~mpalmer/blog/2011/06/28/ssl-session-caching-in-nginx.html).
- 使用 Stunnel 作为 SSL 终止器,使用 sessiond 作为会话缓存(https://www.stunnel.org/sessiond.html)
- Apache 作为 SSL 终止器,distcache 作为会话缓存 (distcache.sourceforge.net/)
但这些选项都已过时和/或记录不足。是否有我不知道的解决方案或可扩展且快速的 SSL 终止过程的建议?
答案1
您需要扩展多大?像 F5 BigIP 8900 这样的设备可以处理数千个同时的 SSL 连接,这样您就无需构建复杂的系统,只需使用许多人都在使用的东西(这意味着其他人会为您找到错误)。