mirror of
https://github.com/http-party/node-http-proxy.git
synced 2025-12-08 20:59:18 +00:00
[fix minor] Correctly set x-forwarded-proto in WebSocket requests
This commit is contained in:
parent
6f8ad3b8c3
commit
c81bae2fdd
@ -131,28 +131,29 @@ HttpProxy.prototype.proxyRequest = function (req, res, buffer) {
|
|||||||
// * `x-forwarded-port`: Port of the original request.
|
// * `x-forwarded-port`: Port of the original request.
|
||||||
//
|
//
|
||||||
if (this.enable.xforward && req.connection && req.socket) {
|
if (this.enable.xforward && req.connection && req.socket) {
|
||||||
|
|
||||||
if (req.headers['x-forwarded-for']){
|
if (req.headers['x-forwarded-for']){
|
||||||
var addressToAppend = "," + req.connection.remoteAddress || req.socket.remoteAddress;
|
var addressToAppend = "," + req.connection.remoteAddress || req.socket.remoteAddress;
|
||||||
req.headers['x-forwarded-for'] += addressToAppend;
|
req.headers['x-forwarded-for'] += addressToAppend;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
req.headers['x-forwarded-for'] = req.connection.remoteAddress || req.socket.remoteAddress;
|
req.headers['x-forwarded-for'] = req.connection.remoteAddress || req.socket.remoteAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (req.headers['x-forwarded-port']){
|
if (req.headers['x-forwarded-port']){
|
||||||
var portToAppend = "," + req.connection.remotePort || req.socket.remotePort;
|
var portToAppend = "," + req.connection.remotePort || req.socket.remotePort;
|
||||||
req.headers['x-forwarded-port'] += portToAppend;
|
req.headers['x-forwarded-port'] += portToAppend;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
req.headers['x-forwarded-port'] = req.connection.remotePort || req.socket.remotePort;
|
req.headers['x-forwarded-port'] = req.connection.remotePort || req.socket.remotePort;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (req.headers['x-forwarded-proto']){
|
if (req.headers['x-forwarded-proto']){
|
||||||
var protoToAppend = "," + req.connection.pair ? 'https' : 'http';
|
var protoToAppend = "," + req.connection.pair ? 'https' : 'http';
|
||||||
req.headers['x-forwarded-proto'] += protoToAppend;
|
req.headers['x-forwarded-proto'] += protoToAppend;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
req.headers['x-forwarded-proto'] = req.connection.pair ? 'https' : 'http';
|
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.
|
// * `x-forwarded-port`: Port of the original request.
|
||||||
//
|
//
|
||||||
if (this.enable.xforward && req.connection && req.connection.socket) {
|
if (this.enable.xforward && req.connection && req.connection.socket) {
|
||||||
|
|
||||||
if (req.headers['x-forwarded-for']){
|
if (req.headers['x-forwarded-for']){
|
||||||
var addressToAppend = "," + req.connection.remoteAddress || req.connection.socket.remoteAddress;
|
var addressToAppend = "," + req.connection.remoteAddress || req.connection.socket.remoteAddress;
|
||||||
req.headers['x-forwarded-for'] += addressToAppend;
|
req.headers['x-forwarded-for'] += addressToAppend;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
req.headers['x-forwarded-for'] = req.connection.remoteAddress || req.connection.socket.remoteAddress;
|
req.headers['x-forwarded-for'] = req.connection.remoteAddress || req.connection.socket.remoteAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (req.headers['x-forwarded-port']){
|
if (req.headers['x-forwarded-port']){
|
||||||
var portToAppend = "," + req.connection.remotePort || req.connection.socket.remotePort;
|
var portToAppend = "," + req.connection.remotePort || req.connection.socket.remotePort;
|
||||||
req.headers['x-forwarded-port'] += portToAppend;
|
req.headers['x-forwarded-port'] += portToAppend;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
req.headers['x-forwarded-port'] = req.connection.remotePort || req.connection.socket.remotePort;
|
req.headers['x-forwarded-port'] = req.connection.remotePort || req.connection.socket.remotePort;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (req.headers['x-forwarded-proto']){
|
if (req.headers['x-forwarded-proto']){
|
||||||
var protoToAppend = "," + req.connection.pair ? 'https' : 'http';
|
var protoToAppend = "," + req.connection.pair ? 'wss' : 'ws';
|
||||||
req.headers['x-forwarded-proto'] += protoToAppend;
|
req.headers['x-forwarded-proto'] += protoToAppend;
|
||||||
} else {
|
|
||||||
req.headers['x-forwarded-proto'] = req.connection.pair ? 'https' : 'http';
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
req.headers['x-forwarded-proto'] = req.connection.pair ? 'wss' : 'ws';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user