Uaktualniłem Node.js na moim komputerze Mac do najnowszego, 0.12.4, a także NPM do wersji 2.10.1, i ponownie uruchomiłem instalację npm dla mojego projektu Express .Zawieszenie protokołu SSL nie powiodło się z serwerem Express pod najnowszym węzłem i NPM
Teraz, gdy odwiedzam https://localhost:3001, otrzymuję komunikat "Strona internetowa jest niedostępna/ERR_CONNECTION_REFUSED" w przeglądarce Chrome. Kiedy uruchamiam curl -v https://localhost:3001
uzyskać
curl -v https://localhost:3001/
* Hostname was NOT found in DNS cache
* Trying ::1...
* Connected to localhost (::1) port 3001 (#0)
* Server aborted the SSL handshake
* Closing connection 0
curl: (35) Server aborted the SSL handshake
Jest to z pewnością wynik modernizacji node.js, ponieważ problem pojawił się natychmiast po uaktualnieniu.
zacznę mój serwis tak:
options = {
key: fs.readFileSync('sslkey.pem'),
cert: fs.readFileSync('sslcert.pem')
};
http.createServer(app).listen(settings.apiPort);
https.createServer(options, app).listen(settings.apiSSLPort);
console.log('Listening on ports: ' + settings.apiPort + ' and ' + settings.apiSSLPort);
Czy ktoś ma jakieś pomysły, co jest przyczyną tego problemu?
spróbować inną przeglądarkę i wyczyścić pamięć podręczną. – deek
Co pokazuje 'curl -k -v https: // localhost: 3001 /'? Opcja '-k' mówi" curl ", aby umożliwić" niezabezpieczone "połączenia. To, w połączeniu z opcją '-v', powinno pomóc dostarczyć więcej informacji o certyfikacie używanym przez twój serwer. Alternatywnie możesz użyć 'openssl s_client -connect localhost: 3001'. Ciekawą częścią będzie ustalenie właśnie _when_, podczas uzgadniania SSL, połączenie zostanie zamknięte. – Castaglia