diff --git a/lib/https/index.js b/lib/https/index.js index 075217fcb..db9aa9896 100644 --- a/lib/https/index.js +++ b/lib/https/index.js @@ -543,7 +543,8 @@ function resolveWebsocket(socket, wss) { function addReqInfo(req) { var clientPort = req.socket.remotePort; - var remoteData = tunnelTmplData.get(clientPort); + var serverPort = req.socket.localPort; + var remoteData = tunnelTmplData.get(clientPort + ':' + serverPort); req.headers[config.HTTPS_FIELD] = 1; if (remoteData) { req.headers[config.CLIENT_IP_HEAD] = remoteData.clientIp || LOCALHOST; @@ -643,7 +644,7 @@ module.exports = function(socket, hostname, next, isWebPort) { return destroy(err); } reqSocket = s; - tunnelTmplData.set(reqSocket.localPort, { + tunnelTmplData.set(reqSocket.localPort + ':' + reqSocket.remotePort, { clientIp: clientIp, clientPort: socket.remotePort, tunnelHost: tunnelHost