我有一个运行在 sub.domain.com 上的 Node.js 服务器,使用 SSL。在桌面浏览器上它工作得很完美,但我刚刚发现它在移动浏览器上无法工作。
我进行了一些研究,有很多人认为我的证书链存在问题。尽管我已经按照建议更改了代码,但仍然没有成功。
以下是我的代码:
我正在运行以下命令以查看一些调试信息(我的服务器在端口5673上运行):
以下是输出中的重要部分。
我进行了一些研究,有很多人认为我的证书链存在问题。尽管我已经按照建议更改了代码,但仍然没有成功。
以下是我的代码:
var httpsOptions = {
ca: [fs.readFileSync("certrequest.csr")],
key: fs.readFileSync("privatekey.pem"),
cert: fs.readFileSync("certificate.pem")
};
var app = http.createServer(httpsOptions, function(req, res) {
log.cnsl.write("HTTP Request received from " + req.connection.remoteAddress);
//Do stuff
});
我正在运行以下命令以查看一些调试信息(我的服务器在端口5673上运行):
openssl s_client -connect sub.domain.com:5673 -showcerts | grep "^ "
以下是输出中的重要部分。
depth=0 O = *.domain.com, OU = Domain Control Validated, CN = *.domain.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 O = *.domain.com, OU = Domain Control Validated, CN = *.domain.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 O = *.domain.com, OU = Domain Control Validated, CN = *domain.com
verify error:num=21:unable to verify the first certificate
verify return:1