2016-10-11 9 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と呼ばれるものを介して可能である:[?それは動的NodeJSでSSL証明書を戻すことができる]

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') 
}) 
関連する問題