无法在nodejs服务器上的https上运行

时间:2017-02-05 13:08:36

标签: javascript node.js express ssl

我创建了以下证书和密钥(自签名)。当我运行该应用时,浏览器加载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操作系统。但为什么这个错误?我该如何解决这个问题?

0 个答案:

没有答案