【发布时间】: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