mit node.js und ein letsencrypt.org ZertifikatWSS letsencrypt UNABLE_TO_GET_ISSUER_CERT
var hardhttps=require('hardhttps');
hardhttps.globalAgent.options.ca=require('ssl-root-cas/latest').inject().addFile('/etc/letsencrypt/lets-encrypt-x3-cross-signed.pem');
var pem={
key:require('fs').readFileSync('/etc/letsencrypt/live/mysite.com/privkey.pem','utf8')
, cert:require('fs').readFileSync('/etc/letsencrypt/live/mysite.com/fullchain.pem','utf8')
, ca:require('fs').readFileSync('/etc/letsencrypt/lets-encrypt-x3-cross-signed.pem','utf8')
, pass:'xxxx'
}
var server=(hardhttps.createServer({key:pem.key,cert:pem.cert,ca:[pem.ca],passphrase:pem.pass})).listen(port);
var wss=new WebSocketServer({server:server});
Mein zweiter Server, der zu verbinden versucht hat genau das gleiche Setup mit einem eigenen certs und Code
Wenn ich versuche, Verbinden Server-zu-Server Es nur Fehler mit [Error: unable to get issuer certificate] code: 'UNABLE_TO_GET_ISSUER_CERT'
Googled die Hölle daraus! Nichts kommt auf Letsencrypt.org und die Fehlermeldung zeigt keine Ahnung!
Ich kann auf jede Datei testen, dass ich darauf zugreifen kann:
var test=require('fs').readFileSync('/etc/letsencrypt/lets-encrypt-x3-cross-signed.pem','utf8');
console.dir(test);//I see the pem!!!
Es ist diese Linie sein könnte, weil, wenn ich es entfernen dann ich den gleichen Fehler:
hardhttps.globalAgent.options.ca=require(__dirname+'/../node_modules/ssl-root-cas/latest').inject().addFile('/etc/letsencrypt/lets-encrypt-x3-cross-signed.pem');
I habe es damit verbunden, da zweifellos andere Leute eine Lösung brauchen https://community.letsencrypt.org/t/error-unable-to-get-issuer-certificate-code-unable-to-get-issuer-cert/15342/3