nodejs pem为企业内部网CIPHER_MISMATCH生成的openssl自签名证书生成

问题描述 投票:0回答:1

我正在使用用于nodejs && express的模块“ pem”为在本地Intranet上运行的演示Web服务器生成openssl自签名证书。

我遇到的问题是,当我尝试从Web服务器上加载页面时,收到错误消息:“客户端和服务器不支持通用的SSL协议版本或密码套件。”

我将如何利用pem(或其他方式)来允许我通过Intranet在https上运行Web服务器?

我正在ubtuntu机器上运行/测试它,也在Windows机器上进行测试。两者都产生相同的错误-通过Intranet访问的计算机将来自linux机器。我正在使用nodejs 10,并在Firefox,chrome,edge和safari上进行了测试

  ...

  pem.createCertificate({ days: 365, selfSigned: true }, this.start);

  ...

  start(err, keys) {
    if (err) {
      throw err
    }

    let server = https.createServer(app,
      { key: keys.serviceKey, cert: keys.certificate });

    server.listen(port,
      () => console.log(`API/NG running on https://localhost:${port}`)
    );
  }
node.js express pem
1个回答
0
投票

根据pem模块的documentation,参数的顺序是相反的,如下所示:

var serverOptions = {
        key: keys.serviceKey,
        cert: keys.certificate
    };

    var app = express();
    var server = https.createServer(serverOptions, app);
© www.soinside.com 2019 - 2024. All rights reserved.