使用 nginx 加速负载平衡 ssl 的方法?

使用 nginx 加速负载平衡 ssl 的方法?

因此,我们网站的设置是 4 个节点,运行 rails 3 和 nginx 1,它们都使用相同的 GoDaddy 证书。因为我们是一个付费网站,所以我们必须保持 PCI-DSS 合规性,因此必须使用更昂贵的 SSL 密码——我们还强制使用 Rack 的 SSL。我最近切换到了 Linode 的 NodeBalancer(我读到它是一个 HACluster),但我们没有获得理想的性能。

从我读到的内容来看,使用高密码终止节点上的 SSL 似乎是导致性能不佳的原因,但我想彻底一点。我能做些什么吗?我读过关于在 NodeBalancer 之前终止 SSL 的其他方法(例如使用 stud),但我对这些解决方案了解不够。我们当然不想做任何实验性的事情或任何有单点故障的事情。

如果我真的无法加快 SSL 握手速度,我的替代方案是使用安全和不安全的子域来支持 Rails 上的某些页面。我找到了一些指南来介绍这一点,但我的问题是,在这种情况下,让 nginx 处理安全子域上的强制 SSL 是否比让 rails 处理更好?

谢谢!

答案1

我曾在处理每秒数万个 SSL 连接的网站工作过,因此我有一些让 SSL 运行速度更快的技巧:

  1. 在 Web 机器上终止 SSL,而不是在负载均衡器上终止。将其放在负载均衡器上是一个瓶颈。
  2. 调整你的密码——是的高安全性密码不会夺走您的生命。
  3. 启用各种形式的 SSL 会话缓存;这有利于提高 CPU 性能和客户端响应时间。忽略那些告诉你打开会话亲和性的白痴,使用集中式 SSL 会话存储让所有前端网络服务器都能享受缓存的好处。

相关内容