我必须在 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
有所帮助。
我已经使用 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
有所帮助。