【问题标题】:Express Js API Http to Https not workingExpress Js API Http 到 Https 不起作用
【发布时间】:2018-01-05 17:50:41
【问题描述】:

我为我的域尝试从 HTTP 到 HTTPS,但出现错误。

我已经使用 express.js 4 在端口 8081 上编写了 API。我的前端在端口 80 Nginx 上运行。 SSL 证书提供商是 Amazon,我正在使用通过 https 成功运行的负载均衡器。

我必须使用 HTTPS 运行我的 API,下面出现错误

_tls_common.js:85
      c.context.setKey(options.key, options.passphrase);
                ^
Error: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
    at Object.createSecureContext (_tls_common.js:85:17)
    at Server (_tls_wrap.js:776:25)
    at new Server (https.js:27:14)
    at Object.createServer (https.js:48:10)
    at Object.<anonymous> (/ubuntu/server.js:95:25)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:427:7)
    at startup (bootstrap_node.js:151:9)
    at bootstrap_node.js:542:3

我的节点js代码:

var http = require('http');
var https = require('https');

var options = {
   key: fs.readFileSync('/etc/ssl/certs/cert.pem',{passphrase: 'XXXXX'}),
   cert: fs.readFileSync('/etc/ssl/certs/ca-certificates.crt'),

 };

var httpServer = http.createServer(app);
var httpsServer = https.createServer(options, app);

httpServer.listen(8081);

httpsServer.listen(8081);

【问题讨论】:

    标签: node.js express nginx amazon-ec2 https


    【解决方案1】:

    错误“证书例程:X509_check_private_key:key values mismatch”表示私钥与SSL证书(x509证书)不匹配

    【讨论】:

      【解决方案2】:

      我只是创建密钥和证书文件并包含如下。

      var app = require('../app');
      var server = https.createServer({
          key: fs.readFileSync('/var/www/html/driver_app/key.key', 'utf8'),
          cert: fs.readFileSync('/var/www/html/driver_app/cert.crt', 'utf8'),
           requestCert: false,
          rejectUnauthorized: false
      },app); 
      

      app 是我的快递应用。这对我来说很好用

      【讨论】:

      • 您正在使用自创密钥。我正在使用路径 /etc/ssl/certs/cert.pem 中找到的亚马逊提供的 ssl 证书私钥
      猜你喜欢
      • 1970-01-01
      • 2023-03-22
      • 2018-05-08
      • 2020-06-07
      • 1970-01-01
      • 2014-03-10
      • 2012-06-07
      • 2018-06-11
      • 2015-07-28
      相关资源
      最近更新 更多