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

让nginx或其他web服务器作为Node.JS前面的反向代理运行有什么好处?它提供了什么

(此问题旨在解决与web应用程序有关的问题,而非网页)

多谢各位

我认为最大的好处是,您可以为多个应用程序使用相同的端口(80)。否则,您需要为每个nodejs应用程序提供一个新的IP地址。根据设置方式,您还可以为运行在不同端口上的不同nodejs应用程序配置不同的文件夹和子域。如果你正在建造一些大型或复杂的东西,这是非常棒的。想象一下,您可以在一个节点应用程序上运行API,从另一个节点应用程序上运行您的网站,并在另一个应用程序中运行登录的网站(会员区、仪表板等)。您的负载平衡器可以确定谁需要去哪里(example.com/api*->api.js,example.com/dashboard*->dashboard.js,example.com->app.js)。这不仅对缩放很有用,而且在事物破裂时,并非所有事物都会同时破裂

到成熟的时候,嗯。Nodejs+forever+node-http-proxy=惊人。以最小的配置/复杂性为您的所有应用运行1个代理服务器(降低失败的可能性)。然后享受其他一切的乐趣。不过,别忘了用防火墙隔离内部端口。)

有些人注意到负载平衡,这是一个好处。然而,负载平衡并不是大多数人都能从中受益的,因为一个单线程、非阻塞的nodejs线程可以处理相当大的负载。如果我是你,我真的不会认为这是一个不同的地方。当您需要时,负载平衡很容易实现,但在您需要之前,它是完全无用的

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

发表评论