我的SSL证书将在90天后过期,我可以根据请求生成新的证书。(我使用Let's Encrypt Without Sudo获得免费证书。)
目前,我有一个简单的HTTPS服务器,我需要重新启动它来更新证书:
require('https').createServer({
key: fs.readFileSync('./ssl/key.pem'),
cert: fs.readFileSync('./ssl/cert.pem')
}, app).listen(443);如何设计HTTPS服务器,以便在不重新启动服务器的情况下更新SSL证书?
发布于 2016-02-14 21:15:36
有几个选项,但与重新启动策略相比,所有这些选项的性能都有所下降。
一种可能性是在每次请求时(或定期)检查证书文件的最后更新时间。如果时间戳发生了变化(与内存中的时间戳相比),您可以重新加载密钥的内容,并认证或生成一个新的服务器实例来替换以前的实例。
我不太熟悉NodeJS,因此我不知道https包是如何存储当前https服务器实例的。鉴于我没有看到任何接收器,我相信它可能存储在某种默认变量中。理想情况下,您的实现应该替换这样的值(除非您可以替换访问实例化服务器的特定key和cert设置值。
https://stackoverflow.com/questions/35391135
复制相似问题