我们在godaddy上购买了域名和SSL证书,但我们的服务器不在godaddy上。我们在我们的服务器中运行 Lampp 和 NodeJS,并且我们正在尝试使用两者设置 SSL。兰普没有问题。Godaddy 的私钥和证书正在运行。但是当我用 NodeJS 尝试相同的文件时。它失败。
这是我的js脚本:
ssl = {
key: fs.readFileSync("./key.pem",'utf8'),
cert: fs.readFileSync("./cert.crt",'utf8'),
ca: [fs.readFileSync('./g1.crt','utf8'),
fs.readFileSync('./g2.crt','utf8'), fs.readFileSync('./g3.crt','utf8')]
};
server = require('https').createServer(ssl, app);
Run Code Online (Sandbox Code Playgroud)
这是错误
_tls_common.js:104
c.context.setKey(options.key, options.passphrase);
^
Error: error:0909006C:PEM routines:get_name:no start line
Run Code Online (Sandbox Code Playgroud)
经过一番谷歌搜索后,我尝试了几种解决方案:添加“utf8”、拆分 gd 包、使用 nodepad++ 修复代码。他们都没有帮忙。
但是,nodejs 可以使用我的自签名密钥和证书文件。所以我想问一下。我生成的密钥不正确吗?我是否应该在本地手动生成私钥/CSR 并在 GoDaddy 上请求新证书?或者我的代码有问题?