我创建了以下证书和密钥(自签名)。当我运行该应用时,浏览器加载Not secure
并且https
被删除。当密钥和证书可用时,它应该在https上运行吗?
代码:
var express = require('express');
var app = express();
var fs = require('fs');
var http = require('http');
var https = require('https');
var request = require('request');
var rp = require('request-promise');
var port = process.env.PORT || 5026;
app.set('port', (port));
app.use('/', express.static(__dirname + '/public_html'));
var options = {
key: fs.readFileSync('./server.key', 'utf8'),
cert: fs.readFileSync('./server.crt', 'utf8')
};
http.createServer(app).listen(8080);
https.createServer(options, app).listen(8443);
虽然控制台没有错误。我之前从未使用过ssl。我在这里缺少什么?
更新: 添加了CA证书和私钥
但是现在我得到了错误:
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Error (native)
at Object.createSecureContext (_tls_common.js:65:17)
at Server (_tls_wrap.js:758:25)
我正在使用Windows操作系统。但为什么这个错误?我该如何解决这个问题?