如何为负载均衡器后面的 express.js 服务器设置 SSL 证书?

如何为负载均衡器后面的 express.js 服务器设置 SSL 证书?

我正在重组我的服务器结构,将它们拆分开来,而不是从一台服务器运行所有内容。

我看了这里但这只是指定了我在原始设置中使用 1 台服务器所做的事情。

我有一个这样的结构:

  • 2x Web 服务器
  • 1x 负载均衡器
  • 1x 缓存服务器
  • 1x 工作服务器
  • 1x 数据库服务器

除套接字连接外,一切运行良好。

我的负载均衡器已生成 SSL 证书

通常,我会这样指出他们:

var server = require('https').createServer({
    key: fs.readFileSync('/etc/nginx/ssl/mywebsite.com/1652307/server.key'),
    cert: fs.readFileSync('/etc/nginx/ssl/mywebsite.com/1652307/server.crt'),
}, app);

但是,在我的socket.js文件中,我无法指向证书,因为它们现在位于负载均衡器上。

我一直在使用 laravel forge 建立基础设施。

我在控制台中收到的错误是:“WebSocket 在建立连接之前已关闭。

我正在使用 Nginx。

我该怎么办?

答案1

SSL 终止应在负载均衡器上,在这种情况下,您不应在后端启用 SSL。

相关内容