2017-05-19 1 views
0

のプロパティ「writeQueueSize」を読み取ることができません私はNode.jsのHTTPSサーバーを持っていると私は次のエラーにランダムでNode.jsのHTTPS問題はTypeError:ヌル

net.js:729 
    if (req.async && this._handle.writeQueueSize != 0) 
          ^

TypeError: Cannot read property 'writeQueueSize' of null 
    at TLSSocket.Socket._writeGeneric (net.js:729:32) 
    at TLSSocket.Socket._writev (net.js:737:8) 
    at doWrite (_stream_writable.js:327:12) 
    at clearBuffer (_stream_writable.js:416:5) 
    at onwrite (_stream_writable.js:368:7) 
    at WriteWrap.afterWrite [as oncomplete] (net.js:824:12) 
Worker 33233 died -> 33245 born. 

私が使用しているマルチドメインを取得していますHTTPSしかし、この問題のための特別なトリガはありません、私はランダムにログに表示されます。

try { 
    var options = { 
     SNICallback: function (domain, cb) { 
      if (!secureContext[domain]) { 
       domain = 'default'; 
      } 
      cb(null, tls.createSecureContext(secureContext[domain])); 
     }, 
     key: secureContext['default'].key, 
     cert: secureContext['default'].cert, 
    }; 
    global.serverHTTPS = https.createServer(options, app); 
} catch (err){ 
    console.error(err.message); 
    console.error(err.stack); 
} 


global.serverHTTPS.on('connection', onConnection); 
global.serverHTTPS.on('error', onError); 


global.serverHTTPS.listen(global.config.httpsPort); 

答えて

1

私は最近同じバグを修正しました。 tls.Serverインスタンスのnet.Socketを破棄することによって問題が発生しました。したがって、安全な接続を破壊する必要がある場合は、secureConnectioneventを聞いてください。

try { 
    var options = { 
     SNICallback: function (domain, cb) { 
      if (!secureContext[domain]) { 
       domain = 'default'; 
      } 
      cb(null, tls.createSecureContext(secureContext[domain])); 
     }, 
     key: secureContext['default'].key, 
     cert: secureContext['default'].cert, 
    }; 
    global.serverHTTPS = https.createServer(options, app); 
} catch (err){ 
    console.error(err.message); 
    console.error(err.stack); 
} 

global.serverHTTPS.on('secureConnection', onConnection); 
global.serverHTTPS.on('error', onError); 

global.serverHTTPS.listen(global.config.httpsPort); 
+0

私はそれを試します、ありがとう:) – Yind