代码之家  ›  专栏  ›  技术社区  ›  CodeF0x

Node.js+Express.js |正在尝试设置HTTPS服务器

  •  2
  • CodeF0x  · 技术社区  · 7 年前

    我正在尝试使用Node.js和Express.js设置HTTPS服务器。

    我目前正在尝试:

    const filesystem = require('fs');
    const express = require('express');
    const server = express();
    const http = require('http').Server(server);
    const https = require('https');
    const io = require('socket.io')(http);
    require('./routes')(server);
    require('./chat-logic')(io);
    
    // Dummy cert
    const privateKey  = filesystem.readFileSync('cert/key.pem', 'utf8');
    const certificate = filesystem.readFileSync('cert/cert.pem', 'utf8');
    
    const credentials = {key: privateKey, cert: certificate};
    const httpsServer = https.createServer(credentials, server);
    
    server.use(express.static(__dirname + '/src'));
    http.listen(3000, () => console.log('Listening on *3000'));
    httpsServer.listen(3443, () => console.log('HTTPS on *3443'));
    

    但是,我得到了这个错误:

    _tls_common.js:134
          c.context.setKey(key, passphrase);
                    ^
    
    Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
    

    我做错了什么?

    1 回复  |  直到 7 年前
        1
  •  17
  •   Badis Merabet    7 年前

    passphrase 在此行中输入或提供空字符串 ''

    const credentials = {key: privateKey, cert: certificate, passphrase: '??'};