使用粘性会话和 NGINX 对 https 和 websockets 进行负载平衡

使用粘性会话和 NGINX 对 https 和 websockets 进行负载平衡

我正在使用 NGINX 在支持 http、ssl 和 websockets 的 node.js 应用程序前进行粘性会话负载平衡。如果我希望负载平衡器仅将请求转发到 node.js 服务器并始终让 node.js 服务器处理任何 SSL 终止,是否仍可以使用基于 cookie 或 IP 地址的粘性会话?或者我需要在负载平衡器级别进行 SSL 终止?

如果我需要在 LB 级别执行 SSL 终止,那么在将请求发送到 node.js 服务器之前,我是否需要在重新加密该请求?

答案1

如果您希望服务器处理 SSL 终止,您可以使用:

  • SSL-ID 进行负载平衡,但如上所述,它有局限性这里
  • 客户端 IP 但有影响,例如大型代理

如果您想规避这些问题,您可以终止 LB 上的 SSL 会话并使用 cookie 来保持粘性。除非应用程序存在某些限制(例如硬编码链接),否则无需重新加密。

相关内容