From 1f435091960c73369ecdfe5ee3748d97023d7200 Mon Sep 17 00:00:00 2001 From: DanBUK Date: Mon, 18 Jul 2011 14:47:52 +0100 Subject: [PATCH 1/2] Allow x-forwarded-for headers to be used to reverse proxy of things works properly. --- lib/manager.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/manager.js b/lib/manager.js index 5362b30338..c053af31b6 100644 --- a/lib/manager.js +++ b/lib/manager.js @@ -807,8 +807,12 @@ Manager.prototype.handleHandshake = function (data, req, res) { Manager.prototype.handshakeData = function (data) { var connection = data.request.connection , connectionAddress; - - if (connection.remoteAddress) { + if (connection.headers['x-forwarded-for']) { + connectionAddress = { + address: connection.headers['x-forwarded-for'], + port: connection.headers['x-forwarded-port'] || 80 + }; + } else if (connection.remoteAddress) { connectionAddress = { address: connection.remoteAddress , port: connection.remotePort From cc53b83ba62e49bf7641df1af57ee46745901591 Mon Sep 17 00:00:00 2001 From: DanBUK Date: Wed, 20 Jul 2011 10:58:51 +0100 Subject: [PATCH 2/2] Whoops, reference the correct object. --- lib/manager.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/manager.js b/lib/manager.js index c053af31b6..e9c20c249e 100644 --- a/lib/manager.js +++ b/lib/manager.js @@ -807,10 +807,10 @@ Manager.prototype.handleHandshake = function (data, req, res) { Manager.prototype.handshakeData = function (data) { var connection = data.request.connection , connectionAddress; - if (connection.headers['x-forwarded-for']) { + if (data.request.headers['x-forwarded-for']) { connectionAddress = { - address: connection.headers['x-forwarded-for'], - port: connection.headers['x-forwarded-port'] || 80 + address: data.request.headers['x-forwarded-for'], + port: data.request.headers['x-forwarded-port'] || 80 }; } else if (connection.remoteAddress) { connectionAddress = {