一尘不染

生成SSL密钥以与node.js一起使用

node.js

我正在通过GoDaddy设置SSL,以与AWS EC2上的node.js服务器一起使用。我一直无法启动它。

这是我尝试过的:

打算用于域:files.mysite.com

在服务器上,我运行:

$ openssl req -new -newkey rsa:2048 -nodes -keyout files.mysite.key -out files.mysite.csr

Common Name: files.mysite.com
password: left empty

然后,我得到CSR:vim files.mysite.csr

我从以下位置复制并粘贴:

-----BEGIN CERTIFICATE-----
......... lots of stuff
-----END CERTIFICATE-----

最后还有一个空行,我使用rekey离开并粘贴到GoDaddy界面中。

然后,我下载godaddy密钥,该密钥提供:

gd_bundle.crt
files.mysite.com.crt

然后在节点中插入:

key: fs.readFileSync('server.key').toString(),
cert: fs.readFileSync('server.crt').toString()

鉴于GoDaddy提供了两个crt文件,我不确定是什么server.key或server.crt?
你能帮我吗?


阅读 229

收藏
2020-07-07

共1个答案

一尘不染

GoDaddy使用中间证书对您的证书进行签名。这对您和GoDaddy都有很多好处。但是要使它正常工作需要更多的工作(只是有点儿,几乎是在谷歌搜索)。

在node.js中,您可以像这样安装它们:

require('https').createServer({
    key: fs.readFileSync('files.mysite.com.key'),
    cert: fs.readFileSync('files.mysite.com.crt'),
    ca: [fs.readFileSync('gd_bundle.crt')] // <----- note this part
}, app).listen(443);
2020-07-07