Node.js和express及生产ssl证书
我在使用node.js实现SSL证书时遇到问题 localhost一切正常,但一旦我转到Ubuntu服务器,就会出现多个问题 我已最小化为以下代码。Node.js和express及生产ssl证书,node.js,ssl,ssl-certificate,Node.js,Ssl,Ssl Certificate,我在使用node.js实现SSL证书时遇到问题 localhost一切正常,但一旦我转到Ubuntu服务器,就会出现多个问题 我已最小化为以下代码。 证书(.crt)和密钥(.key)位于证书目录中,名称类似于localhost.key或exampleSSLServer.crt。 我正在使用RapidSSL证书,并且被告知我还需要包含中间证书 function serverSSL(host,port,intermediate) { var https = require('https
证书(.crt)和密钥(.key)位于证书目录中,名称类似于localhost.key或exampleSSLServer.crt。 我正在使用RapidSSL证书,并且被告知我还需要包含中间证书
function serverSSL(host,port,intermediate) {
var https = require('https');
var fs = require('fs');
var express = require('express');
var app = express();
var httpsOptions = {
key: fs.readFileSync('certificates/' + host + '.key'),
cert: fs.readFileSync('certificates/' + host + '.crt')
};
if (intermediate) {
httpsOptions.ca = [fs.readFileSync('certificates/' + intermediate + '.crt')];
}
var server = https.createServer(httpsOptions, app).listen({
port: port,
host: host
}, initServer);
function initServer() {
var host = server.address().address,
port = server.address().port;
console.log(
'Example app listening at https://%s:%s', host, port);
}
app.get('/hello', function (req, res) {
var msg = 'Hello SSL';
console.log(msg);
res.send(msg);
});
}
我也试过两个不同的电话
Error: listen EADDRNOTAVAIL 52.xxx.xxx.xxx:8445
at Object.exports._errnoException (util.js:873:11)
at exports._exceptionWithHostPort (util.js:896:20)
at Server._listen2 (net.js:1237:19)
at listen (net.js:1286:10)
at net.js:1395:9
at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:64:16)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:83:10)
如果我去掉主机参数,那么它不会失败,但也不会响应。
我稍微修改了代码,使用了http和https,一切似乎都很好。
另外,我尝试了许多不同的端口,同样的问题也发生了
他们的SSL证书可能有问题,但我没有简单的调试方法。我很乐意尝试另一种工具
在任何情况下,如有任何帮助,我们将不胜感激。我从CheapSSL Security(cheapsslsecurity.com)获得以下信息您好,以我们提供的价格,我们无法支持Node.js。由系统管理员正确配置和安装证书。我非常怀疑RapidSSL是否会为Node.js提供技术支持,因为它的安装非常复杂。保罗很高兴知道他们支持自己的产品。