我有一个运行express的NodeJs应用程序。我一直在尝试集成SSL证书,但是我一直使用相同的error: Error: error:0906D06C:PEM routines:PEM_read_bio:no start line.
我尝试了一些在stackOverflow上发现的解决方案,例如
if (process.env.SSL_PRIVATE_KEY && process.env.SSL_CERTIFICATE) {
server = require('https');
server.createServer({
key: fs.readFileSync(path.resolve('ssl/key.pem'), 'utf8'),
cert: fs.readFileSync(path.resolve('ssl/server.crt'), 'utf8'),
ca: fs.readFileSync(path.resolve('ssl/bundle.crt'), 'utf8'),
requestCert: false,
rejectUnauthorized: false
}, app).listen(app.get('port'), function () {
console.log('Express server listening on https://localhost:' + app.get('port'));
});
} else {
server = require('http');
server.createServer(app).listen(app.get('port'), function () {
console.log('Express server listening on http://localhost:' + app.get('port'));
});
但是似乎没有一个起作用。我的主要问题是我从GoDaddy卸载了证书文件,但仅得到两个.cert文件。我已经在一些网站上阅读了如何获取.pem文件,但是我仍然遇到相同的错误。
您会看到我在NodeJ中使用https协议是新手。
您能帮我解决这个问题吗?
最诚挚的问候
答案 0 :(得分:1)
已经解决。实际上,GoDaddy给我的文件格式错误,因此我给支持部门打电话,他们不知道如何解决该问题,因此我不得不退还这笔钱,因此,请在Let's Encrypt中添加HTTPS协议。