我必须在 NodeJS 上放置一个反向代理吗?

Do I have to put a reverse proxy upon NodeJS?

我已经使用 Ruby on Rails 创建 Web 应用程序一段时间了,我正在为我的下一个 Web 应用程序切换到 NodeJS/ExpressJS

我习惯把nginx作为反向代理放在rack栈之前;但是对于 NodeJS/ExpressJS 我必须在它前面放一个反向代理吗?如果必须的话,你能解释一下为什么吗?

首先,放不放反向代理是你的决定。我只能说这样做的缺点。

  • 反向代理(尤其是nginx)可用于平衡连接。如果你有好几台后端服务器,你可以放nginx在它们之间转发请求,如果一台挂了,服务就可以了
  • Nginx 可用于提供静态文件,比 node 更快。js/RoR
  • Nginx 可用于提供 SSL 连接,它使您的应用程序更轻便
  • 添加反向代理后,只能在127.0.0.1上运行应用,不调用nginx记录请求就无法远程执行

希望对您在产品环境选择nginx有所帮助。