diff --git a/biz/webui/cgi-bin/composer.js b/biz/webui/cgi-bin/composer.js index e38982f6d..0cb78ab95 100644 --- a/biz/webui/cgi-bin/composer.js +++ b/biz/webui/cgi-bin/composer.js @@ -207,9 +207,6 @@ module.exports = function(req, res) { delete headers.upgrade; if (!isConn && ((req.body.useH2 && protocol === 'https:') || protocol === 'h2:' || protocol === 'http2:')) { options.protocol = protocol = 'https:'; - var s = req.socket || ''; - s._h2SessionId = s._h2SessionId || util.getSessionId(); - headers[config.SESSION_ID_HEADER] = s._h2SessionId; headers[config.ALPN_PROTOCOL_HEADER] = 'h2'; } } diff --git a/lib/config.js b/lib/config.js index bdc395125..0cea5154e 100644 --- a/lib/config.js +++ b/lib/config.js @@ -34,7 +34,6 @@ var variableProperties = ['encrypted', 'sockets', 'dataDirname', 'storage', 'bas 'username', 'password', 'debugMode', 'localUIHost', 'extra', 'rules', 'values', 'dnsCache', 'allowDisableShadowRules']; config.enableH2 = disableAgent || (version[0] == 10 && version[1] >= 10); -config.SESSION_ID_HEADER = 'x-whistle-h2-session-id'; config.ASSESTS_PATH = path.join(__dirname, '../assets'); config.WHISTLE_REQ_FROM_HEADER = 'x-whistle-request-from'; config.WHISTLE_POLICY_HEADER = 'x-whistle-policy'; diff --git a/lib/https/h2.js b/lib/https/h2.js index 9057b310b..160ac70ed 100644 --- a/lib/https/h2.js +++ b/lib/https/h2.js @@ -215,7 +215,7 @@ exports.request = function(req, res, callback) { return callback(); } var key = getKey(options); - var name = req.sessionId + '\n' + key; + var name = req.clientIp + '\n' + key; var client = clients[name]; if (client) { return requestH2(client, req, res); diff --git a/lib/https/index.js b/lib/https/index.js index 1c1dcbe1a..4d5032e04 100644 --- a/lib/https/index.js +++ b/lib/https/index.js @@ -721,9 +721,6 @@ function toHttp1(req, res) { options.port = config.port; options.headers = headers; if (isH2) { - var s = req.socket || ''; - s._h2SessionId = s._h2SessionId || util.getSessionId(); - headers[config.SESSION_ID_HEADER] = s._h2SessionId; headers[config.ALPN_PROTOCOL_HEADER] = 'h2'; } options.method = req.method; diff --git a/lib/init.js b/lib/init.js index b61f21d74..232b749c1 100644 --- a/lib/init.js +++ b/lib/init.js @@ -139,14 +139,9 @@ module.exports = function(req, res, next) { delete headers[config.HTTPS_FIELD]; delete headers[config.HTTPS_PROTO_HEADER]; } - var sessionId = headers[config.SESSION_ID_HEADER]; - if (sessionId) { - req.sessionId = sessionId; - delete headers[config.SESSION_ID_HEADER]; - if (headers[config.ALPN_PROTOCOL_HEADER]) { - req.isH2 = req.isHttps; - delete headers[config.ALPN_PROTOCOL_HEADER]; - } + if (headers[config.ALPN_PROTOCOL_HEADER]) { + req.isH2 = req.isHttps; + delete headers[config.ALPN_PROTOCOL_HEADER]; } if (headers['proxy-connection']) { headers.connection = headers['proxy-connection']; diff --git a/lib/inspectors/res.js b/lib/inspectors/res.js index 82278ceb3..0baa0060b 100644 --- a/lib/inspectors/res.js +++ b/lib/inspectors/res.js @@ -466,14 +466,12 @@ module.exports = function(req, res, next) { } proxyUrl ? util.setClientId(options.headers, req.enable, req.disable, req.clientIp) : util.removeClientId(options.headers); if (req.isH2 && (headers[config.HTTPS_FIELD] || options.isPlugin)) { - headers[config.SESSION_ID_HEADER] = req.sessionId; headers[config.ALPN_PROTOCOL_HEADER] = 'h2'; } options.headers = formatHeaders(options.headers, req.rawHeaderNames); delete headers[config.WEBUI_HEAD]; if (headers[config.HTTPS_FIELD]) { delete headers[config.HTTPS_FIELD]; - delete headers[config.SESSION_ID_HEADER]; delete headers[config.ALPN_PROTOCOL_HEADER]; } if (isDelete) { @@ -486,7 +484,7 @@ module.exports = function(req, res, next) { if (req.hasError) { return; } - req.useH2 = isHttps && config.enableH2 && ((req.isH2 && !util.isDisableH2(req)) || (req.sessionId && util.isEnableH2(req))); + req.useH2 = isHttps && config.enableH2 && ((req.isH2 && !util.isDisableH2(req)) || util.isEnableH2(req)); req.setServerPort(options._proxyPort || options.port || (useHttps ? 443 : 80)); req.options = options; h2.request(req, res, send); diff --git a/lib/plugins/load-plugin.js b/lib/plugins/load-plugin.js index fc5153500..b2f13e415 100644 --- a/lib/plugins/load-plugin.js +++ b/lib/plugins/load-plugin.js @@ -879,7 +879,7 @@ module.exports = function(options, callback) { process.on('unhandledRejection', handleGlobalError); } - var normalizeArgs = function (uri, cb, req, curUrl, isWs, opts, sessionId, alpnProtocol) { + var normalizeArgs = function (uri, cb, req, curUrl, isWs, opts, alpnProtocol) { var type = uri && typeof uri; var headers, method; if (type !== 'string') { @@ -917,8 +917,7 @@ module.exports = function(options, callback) { uri.port = config.port; if (isHttps) { headers[config.HTTPS_FIELD] = 1; - if (sessionId && alpnProtocol) { - headers[config.SESSION_ID_HEADER] = sessionId; + if (alpnProtocol) { headers[config.ALPN_PROTOCOL_HEADER] = alpnProtocol; } } @@ -1231,7 +1230,6 @@ module.exports = function(options, callback) { case PLUGIN_HOOKS.HTTP: if (httpServer) { initReq(req, res); - var sessionId = req.headers[config.SESSION_ID_HEADER]; var alpnProtocol = req.headers[config.ALPN_PROTOCOL_HEADER]; var curUrl = req.originalReq.url; var svrRes = ''; @@ -1256,7 +1254,7 @@ module.exports = function(options, callback) { writeHead.call(res, code, msg, headers); }; req.request = function(uri, cb, opts) { - var args = normalizeArgs(uri, cb, req, curUrl, false, opts, sessionId, alpnProtocol); + var args = normalizeArgs(uri, cb, req, curUrl, false, opts, alpnProtocol); uri = args[0]; cb = args[1]; uri.agent = false;