SSLを使用してsub.domain.comで実行されるNode.jsサーバーがあります。デスクトップブラウザでは何ヶ月も完全に機能していますが、モバイルブラウザでは機能しないことに気づきました。
私は少し調査を行いましたが、証明書チェーンに問題があることを示唆する人がたくさんいます。コードを変更して、あるように見せましたが、それでも運がありません。
これが私のコードです:
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