2016-05-13 8 views
0

クライアントのIPを取得するためにamazonロードバランサ(TCPプロトコル上)でProxyを有効にするまで、ノードキーHTTPサーバが正常に動作しています。 私は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リクエストを処理できません。 私はどこが間違っているのか教えてください。

答えて

0

私のnodejs HTTPサーバーがLoad BalancerからTCPを処理していないため、ロードバランサのプロトコルをHTTPに切り替えました。これでHTTPサーバーがうまく動作します。

関連する問題