Ich war mit iojs und koa in meiner Anwendung und vor kurzem habe ich beschlossen, iojs zu nodejs v4.4.4 zu aktualisieren. Das Update war sehr reibungslos und meine Anwendung lief in kürzester Zeit. Das Problem ist, dass ich auf meiner Entwicklung Maschine ein selbst signierten SSL-Zertifikat verwenden, und nachdem ich aktualisierte NodeJS ich die folgende Meldung angezeigt, wenn ich versuche, die Website zugreifen:Self signed SSL funktioniert nicht nach dem Upgrade von iojs zu nodejs v4.4.4
This site can’t provide a secure connection
localhost uses an unsupported protocol.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
The client and server don't support a common SSL protocol version or cipher suite. This is likely to be caused when the server needs RC4, which is no longer considered secure.
ich nvm
bin mit so habe ich versucht, Wechseln zu Iojs und die Website funktionierte wieder.
Nach einiger Lesung fand ich heraus, dass ich die openssl
auf Version 1.0.2g
anstelle der 1.0.1g
, dass ich die .key
und .crt
Dateien zu erzeugen, zu aktualisieren. So aktualisiert ich openssl
und erzeugt neue Schlüssel- und Zertifikatsdateien wie folgt aus:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
Leider dies nicht das Problem beheben.
Dies ist der Code, den ich die https auf dem Server-Setup verwenden:
let sslOptions = {
key: fs.readFileSync('/etc/apache2/ssl/apache.key'),
cert: fs.readFileSync('/etc/apache2/ssl/apache.crt')
};
let server = require('https').createServer(sslOptions, app.callback())
Bin ich etwas falsch? Warum funktioniert es mit iojs und funktioniert nicht mit nodejs?
die Fehlermeldung wird in den Browser angezeigt, oder? Welcher ? –
Es wird in Chrome angezeigt, aber ich erhalte eine Fehlermeldung in Firefox. In Firefox ist es 'Fehlercode: SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT' –
Wenn es nur für dev-Zweck ist, würde ich vorschlagen, eine Ausnahme hinzuzufügen. Siehe Kommentare hier http://gaboesquivel.com/blog/2014/nodejs-https-and-ssl-certificate-for-development/ für Chrome. Wenn es ein Nein ist, hast du darüber nachgedacht, ob wir verschlüsseln können? Oder noch brutaler [das] (https://github.com/coolaj86/node-ssl-root-cas/wiki/Painless-Self-Signed-Certificates-in-node.js) –