Commit f52afc1d authored by indexzero's avatar indexzero Committed by Cédric de Saint Martin

[fix minor] Correctly set x-forwarded-proto in WebSocket requests

parent f1a8b573
......@@ -131,28 +131,29 @@ HttpProxy.prototype.proxyRequest = function (req, res, buffer) {
// * `x-forwarded-port`: Port of the original request.
//
if (this.enable.xforward && req.connection && req.socket) {
if (req.headers['x-forwarded-for']){
var addressToAppend = "," + req.connection.remoteAddress || req.socket.remoteAddress;
req.headers['x-forwarded-for'] += addressToAppend;
} else {
req.headers['x-forwarded-for'] = req.connection.remoteAddress || req.socket.remoteAddress;
var addressToAppend = "," + req.connection.remoteAddress || req.socket.remoteAddress;
req.headers['x-forwarded-for'] += addressToAppend;
}
else {
req.headers['x-forwarded-for'] = req.connection.remoteAddress || req.socket.remoteAddress;
}
if (req.headers['x-forwarded-port']){
var portToAppend = "," + req.connection.remotePort || req.socket.remotePort;
req.headers['x-forwarded-port'] += portToAppend;
} else {
req.headers['x-forwarded-port'] = req.connection.remotePort || req.socket.remotePort;
var portToAppend = "," + req.connection.remotePort || req.socket.remotePort;
req.headers['x-forwarded-port'] += portToAppend;
}
else {
req.headers['x-forwarded-port'] = req.connection.remotePort || req.socket.remotePort;
}
if (req.headers['x-forwarded-proto']){
var protoToAppend = "," + req.connection.pair ? 'https' : 'http';
req.headers['x-forwarded-proto'] += protoToAppend;
} else {
req.headers['x-forwarded-proto'] = req.connection.pair ? 'https' : 'http';
var protoToAppend = "," + req.connection.pair ? 'https' : 'http';
req.headers['x-forwarded-proto'] += protoToAppend;
}
else {
req.headers['x-forwarded-proto'] = req.connection.pair ? 'https' : 'http';
}
}
//
......@@ -420,28 +421,29 @@ HttpProxy.prototype.proxyWebSocketRequest = function (req, socket, head, buffer)
// * `x-forwarded-port`: Port of the original request.
//
if (this.enable.xforward && req.connection && req.connection.socket) {
if (req.headers['x-forwarded-for']){
var addressToAppend = "," + req.connection.remoteAddress || req.connection.socket.remoteAddress;
req.headers['x-forwarded-for'] += addressToAppend;
} else {
req.headers['x-forwarded-for'] = req.connection.remoteAddress || req.connection.socket.remoteAddress;
var addressToAppend = "," + req.connection.remoteAddress || req.connection.socket.remoteAddress;
req.headers['x-forwarded-for'] += addressToAppend;
}
else {
req.headers['x-forwarded-for'] = req.connection.remoteAddress || req.connection.socket.remoteAddress;
}
if (req.headers['x-forwarded-port']){
var portToAppend = "," + req.connection.remotePort || req.connection.socket.remotePort;
req.headers['x-forwarded-port'] += portToAppend;
} else {
req.headers['x-forwarded-port'] = req.connection.remotePort || req.connection.socket.remotePort;
var portToAppend = "," + req.connection.remotePort || req.connection.socket.remotePort;
req.headers['x-forwarded-port'] += portToAppend;
}
else {
req.headers['x-forwarded-port'] = req.connection.remotePort || req.connection.socket.remotePort;
}
if (req.headers['x-forwarded-proto']){
var protoToAppend = "," + req.connection.pair ? 'https' : 'http';
req.headers['x-forwarded-proto'] += protoToAppend;
} else {
req.headers['x-forwarded-proto'] = req.connection.pair ? 'https' : 'http';
var protoToAppend = "," + req.connection.pair ? 'wss' : 'ws';
req.headers['x-forwarded-proto'] += protoToAppend;
}
else {
req.headers['x-forwarded-proto'] = req.connection.pair ? 'wss' : 'ws';
}
}
//
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment