Неверное подтверждение SSL с помощью Express-сервера в соответствии с последними Node и NPM

Я обновил Node.js на своем Mac до последнего, 0.12.4, а также NPM до 2.10.1, и я перезапустил npm install для моего проекта Express.

Теперь, когда я нахожусь https://localhost:3001, я получаю "Эта веб-страница недоступна /ERR _CONNECTION_REFUSED" в Chrome. Когда я запускаю curl -v https://localhost:3001, я получаю

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

Это определенно является результатом обновления Node.js, поскольку проблема возникла сразу после обновления.

Я запускаю свое обслуживание следующим образом:

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);

Есть ли у кого-нибудь идеи, что вызывает эту проблему?

Ответ 1

У меня была такая же проблема, попробуйте следующее:

options = {
        key: fs.readFileSync('sslkey.pem', 'utf-8'),
        cert: fs.readFileSync('sslcert.pem', 'utf-8'),
        ca: fs.readFileSync(<CA_FILE>, 'utf-8'),
        requestCert: true,
        rejectUnauthorized: false
    };