2016-10-05 2 views
0

Я пытаюсь настроить HTTPS для моего сервера Express. Я нашел следующий код от this question's answers.Express.js HTTPS не запускает сервер

console.log("Test 1"); 
var httpServer = http.createServer(app); 
console.log("Test 2"); 
var httpsServer = https.createServer(credentials, app); 
console.log("Test 3"); 
httpServer.listen(8080); 
console.log("Test 4"); 
httpsServer.listen(8443); 
console.log("Test 5"); 

Проблема заключается в том, единственное, что появляется в консоли Test 1 и Test 2. Ничто после этой строки, похоже, не работает. Я просто хочу, чтобы одно и то же приложение Express запускалось как на HTTP, так и на HTTPS.

В прошлом я только что использовал server = app.listen(port);, чтобы запустить Express-сервер.

Любые идеи?

EDIT

Узел приложение продолжает работать без ошибок, но только не печатает эти последние console.log заявления.

var fs = require('fs'); 
var privateKey = fs.readFileSync('ssl/servertest.key', 'utf8'); 
var certificate = fs.readFileSync('ssl/servertest.crt', 'utf8'); 
var credentials = {key: privateKey, cert: certificate}; 

servertest.key и servertest.crt.

Примечание: Я знаю, что размещение этих онлайн и их публикация - плохая идея. Просто используйте его, например. Прежде чем начать работу, я собираюсь восстановить ключи SSL.

+0

Все, что код в узле будет выполняться асинхронно, поэтому я предполагаю, что у вас есть ошибка в вашем createServer (credentails, что у вас есть в учетных данных? – Keith

+0

@Keith Ошибка не была зарегистрирована на терминале или что-то еще –

+0

Strange ,. Будет ли приложение узла остановлено, у вас есть действующий ключ и сертификат в ваших учетных данных? .. Я использую Express HTTPS без каких-либо проблем. Не могли бы вы сбить быструю демонстрацию того, что вы сделали? – Keith

ответ

1

Да, закрытый ключ защищен паролем.

В моей системе я получаю сообщение об ошибке,

Error: error:0906A068:PEM routines:PEM_do_header:bad password read 

не знаю, почему ты не был, может быть, это версия узла.

Здесь у вас есть 2 варианта: либо удалить пароль из ключа с помощью openSSL, либо указать пароль для опций с помощью опции парольной фразы.

Смежные вопросы