node.js - http响应是否发送到客户端或负载均衡器

标签 node.js express nginx load-balancing haproxy

假设以下配置:

Client -> NginX -> nodejs server


客户端发送请求时,它会到达负载平衡器并路由到服务器。然后,在我的node.js应用程序内部,当我捕获到请求并调用res.end()时,响应是路由回到负载均衡器,然后又路由到客户端,还是直接发送给客户端?

app.get('/', function(req, res){
    res.end('hello!'); // where does the response go internally?
}


谢谢!

最佳答案

根据响应代码,我猜负载均衡器会发送302来重定向浏览器。

如果它是反向代理,它将是请求的中介。在浏览器(F12)中打开HTTP状态窗口并从“网络”选项卡检查响应代码很容易。

检查并查看您是否从设备获得重定向,或者它是否将HTTP发送回反向代理。

如果您收到302,则表示您的负载平衡器发送了重定向响应,并且您的浏览器从池中的服务器获取页面,从而回答了节点应用程序对浏览器做出响应的问题。这不是代理。

请阅读302 https://en.wikipedia.org/wiki/HTTP_302

这是有关HTTP响应的一些常规信息

https://www.digitalocean.com/community/tutorials/how-to-troubleshoot-common-http-error-codes

关于node.js - http响应是否发送到客户端或负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34311379/

相关文章:

http - 在nodejs中没有收到数据时如何处理http.get()?

javascript - MongoDB选择_id数组的位置?

javascript - 如何删除匹配的 req.params.id 的对象

docker - 在单个 Linux Web 服务器上运行多个 Docker 容器

node.js - 错误 : ENOENT, 打开 favicon.ico

javascript - 如何使子应用程序可以访问 session 变量

node.js - 检测 Node 响应的内容类型的最佳方法是什么?

javascript - 如何使用 Sequelize 创建或更新多个表?

android - 如何修复 nginx 中不完整的证书链

django - nginx子域和域重写w代理pass