gpt4 book ai didi

node.js - 我应该同时使用 Nginx 和 HAProxy 作为生产 Node 应用程序吗?

转载 作者:搜寻专家 更新时间:2023-10-31 23:47:57 26 4
gpt4 key购买 nike

我有一个 node/express/postgres 应用程序。我在一个 Node 上有 postgres 数据库,我计划在一个单独的负载平衡器后面有几个应用程序 Node ,这样我就可以水平扩展。

我将我的应用程序 Node 设置为在 Node 应用程序前面运行 nginx。所以我让 nginx 监听端口 80 并将 Web 请求转发到监听端口 3000 的同一个盒子上的 Node 应用程序。

然后我打算把 HAProxy 放在前面来处理跨应用程序 Node 的 SSL 终止和负载平衡

我的问题:nginx 在这种情况下是否过时了?让 HAProxy 直接转发到端口 3000 上的应用程序 Node 会更好吗?

在每个应用程序 Node 上安装 nginx 有什么好处吗?我不会提供任何静态文件。我的 Node 应用程序是一个仅返回 JSON 数据的 REST api。 Node 应用程序永远不会呈现或提供任何 html。

最佳答案

在这种情况下,Nginx 和 HAProxy 都用于相同的目的:将非战斗强化 Node http 服务器堆栈(让我们面对现实吧,您的 Node 应用程序本质上是一个像 Nginx 或 Apache 但由您自己编写的 http 服务器)与通过久经考验的 http 服务器进行代理来访问互联网的其余部分。这意味着在这种情况下,在 Node 前面有两个 http 代理是多余的。

但是,在某些情况下您可能想要这样做。如果您的 Node 服务器位于机器集群上并且它们都可以访问互联网并且都可以从互联网访问它们,那么您可能希望使用另一个 http 代理(例如 Nginx 或 Apache 或 lighttpd)来保护每台机器。

不过,一般来说,您可以使用防火墙来保护机器。但有时将每台机器直接暴露在网络上是有意义的。

关于node.js - 我应该同时使用 Nginx 和 HAProxy 作为生产 Node 应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30089406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com