一尘不染

Node.JS前面的反向代理的优点

node.js

将Nginx或其他Web服务器作为反向代理在Node.JS之前运行有什么好处?它提供什么?

(此问题是针对与Web应用有关的问题,而不是与网页有关的问题)。

谢谢。


阅读 212

收藏
2020-07-07

共1个答案

一尘不染

我认为最大的好处是您可以将同一端口(80)用于多个应用程序。否则,您需要为每个拥有的nodejs应用程序提供一个新的IP地址。根据您的设置方式,您还可以为运行在不同端口上的不同nodejs应用程序配置不同的文件夹和子域。如果您要构建大型或复杂的项目,这是非常好的。想象一下,能够在一个节点应用程序上运行您的API,在另一个节点应用程序上运行您的网站,并在另一应用程序中运行登录的网站(成员区域,仪表板等)。您的负载平衡器可以确定谁需要去哪里(example.com/api->
api.js,example.com / dashboard
-> dashboard.js,example.com->
app.js)。这不仅对扩展很有用,而且在事情破裂时也有用,并非所有事情都立即破裂。

对于成熟的东西,嗯。Nodejs + 永远 + node-http-
proxy
= 很棒
为您的所有应用程序运行1个代理服务器,且配置/复杂度最低(失败几率较低)。然后,与其他所有事物一起玩。不过,请不要忘记将内部端口防火墙掉;)

有些人注意到负载平衡,这的确是有益的。但是,大多数人不会从负载平衡中受益,因为单线程,无阻塞的nodejs线程可以处理非常大的负载。如果我是你,我什至不会认为这有什么区别。负载平衡在需要时很容易实现,但在您需要之前完全没有用。

另请注意,如果确实使用非节点代理解决方案(nginx,龙卷风等),则请确保不要使用会阻塞的解决方案。 Apache块。
Nginx没有。您不想抛弃在糟糕的服务器上首先使用nodejs的最大好处之一。

2020-07-07