首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Express:证书错误:_tls_common.js:129 c.context.setCert( OpenSSL );

Express:证书错误:_tls_common.js:129 c.context.setCert( OpenSSL );
EN

Stack Overflow用户
提问于 2020-09-19 23:21:10
回答 1查看 168关注 0票数 1

我正在尝试做的是在OpenSSL和HTTPS核心模块中使用HTTPS,下面是我的代码:

App.js:

代码语言:javascript
运行
复制
const url = config.mongoUrl;
const connect = mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true });

connect.then(db => {
console.log("Connected correctly to server!");
}, err => console.log(err))

var app = express();

app.all('*', (req, res, next) => {
  if (req.secure) {
    return next();
  }
  else {
    res.redirect(307, 'https://' + req.hostname + ':' + app.get('secPort') + req.url);
  }

./bin/www:

代码语言:javascript
运行
复制
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
app.set('secPort', port + 443);

/**
 * Create HTTP server.
 */
 
var options = {
  key: fs.readFileSync(__dirname+'/private.key'),
  cert: fs.readFileSync(__dirname+'/certificate.pem')
};

var secureServer = https.createServer(options, app);


/**
 * Listen on provided port, on all network interfaces.
 */

secureServer.listen(app.get('secPort'), () => {
   console.log('Server listening on port ',app.get('secPort'));
});
secureServer.on('error', onError);
secureServer.on('listening', onListening);
});

我在./ cert.csr中使用以下命令创建了certificate.pem、private.key和cert.csr:

代码语言:javascript
运行
复制
openssl genrsa 1024 > private.key
openssl req -new -key private.key -out cert.csr
openssl x509 -req -in cert.csr -signkey private.key -out certificate.pem

但是当我执行npm start时,nodemon给我一个错误:

代码语言:javascript
运行
复制
_tls_common.js:129
      c.context.setCert(cert);

我是不是做错了什么?

EN

Stack Overflow用户

发布于 2021-07-15 16:32:27

我遵循了here的说明,但随后还必须添加path.join(),如下所示:

代码语言:javascript
运行
复制
const path = require('path');
var httpsOptions = {
  key: fs.readFileSync(path.join(__dirname, './https/key.pem')),
  cert: fs.readFileSync(path.join(__dirname, './https/cert.pem'))
};
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63970332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档