2016-10-11 55 views
0

是否有可能在不重新啓動node.js中的服務器的情況下換出證書(假如它得到更新)?當前打開的任何連接都已經信任服務器,因此不需要斷開連接,但任何新連接都需要查看新證書。我會想象應該有可能做到這種熱潮。是否可以通過API node.js提供?是否有可能在node.js中熱插拔tls證書?

或者是否有任何節點https模塊允許這?

+0

的可能的複製( http://stackoverflow.com/questions/12219639/is-it-possible-to-dynamically-return-an-ssl-certificate-in-nodejs) – steampowered

回答

0

它看起來像這樣通過一種叫做SNICallback是可能的:?是不是可以動態地返回的SSL證書的NodeJS]

https://github.com/nodejs/node/issues/10349#issuecomment-268157842

I cannot use SNICallback

var certs = { 
    "safe.myDomain.com": { 
     key: fs.readFileSync('../SSL/safe/private/key.pem'), 
     cert: fs.readFileSync('../SSL/safe/certs/cert.pem') 
    }, 
    "api.myDomain.com": { 
     key: fs.readFileSync('../SSL/api/private/key.pem'), 
     cert: fs.readFileSync('../SSL/api/certs/cert.pem') 
    } 
} 

var httpsOptions = { 
    SNICallback: function(hostname, cb) { 
     var ctx = tls.createSecureContext(certs[hostname]) 
     cb(null, ctx]) 
    } 
} 

https.createServer(httpsOptions).listen(1443, function() { 
    console.log('HTTPS server is listening on port 1443') 
}) 
相關問題