0
我有一个nodeja HTTP服务器,这个服务器一直很好,直到我在亚马逊负载均衡器(它在TCP协议上)上启用代理来获取客户端IP。 我想知道的NodeJS的TCP服务器的工作原理完美,但HTTP服务器无法Nodejs http服务器无法处理来自Amazon负载平衡器的启用代理的请求
var net = require('net');
var proxy_protocol = require('node-proxy-protocol');
net.createServer(function(socket) {
proxy_protocol.parse(socket, function(error, obj) {
console.log(obj); //returns required client's info
});
});
但是,为什么HTTP服务器无法执行,如果我取代 “网” 以 “http”:
This does not work
var net = require('http');
var proxy_protocol = require('node-proxy-protocol');
http.createServer(function(req,res) {
proxy_protocol.parse(req, function(error, obj) {
console.log(obj); //returns nothing
});
});
虽然我知道HTTP(通常)是通过TCP进行操作的,所以它必须适用于两者。 基本上我认为,我的Http服务器无法处理来自Load Balancer的TCP请求。 请让我知道我哪里错了。