2015-07-30 3 views
0

Я нахожусь на OS X, и я подтвердил, что ничего не слушает на 80 и 443. Я запускаю это как sudo, и когда я иду http://127.0.0.1, он работает. Однако, когда я иду на https://127.0.0.1, я не получаю.Как прослушивать порт 443 с помощью Express?

Что я делаю неправильно?

+1

ли вы в буквальном смысле получить 404 не нашли ответа на HTTPS URL? Это означает, что на самом деле сервер прослушивает. OTOH, если вы получили отказ в подключении, это означает, что сервер не слушает. – greim

+0

Сбой подключения. Не 404 – Shamoon

ответ

1

добавьте следующую строку кода:

app.listen(443); 

Кроме того, старайтесь, чтобы избавиться от всего модуля HTTP, так как экспресс обрабатывает большинство, что для вас. Посмотрите на начало Hello World for Express, http://expressjs.com/starter/hello-world.html и найдите ту часть, где она обрабатывает порт.

+0

По-прежнему возникают сбои в подключении – Shamoon

0

Чтобы включить приложение для прослушивания как http и https на портах 80 и 443 соответственно, сделайте следующее

Создание экспресс-приложение:

var express = require('express'); 
var app = express(); 

Приложение возвращаемый express() является функцией JavaScript , Он может быть передан HTTP-серверам Node в качестве обратного вызова для обработки запросов. Это упрощает предоставление как HTTP, так и HTTPS-версий вашего приложения с использованием той же базы кода.

Вы можете сделать это следующим образом:

var express = require('express'); 
var https = require('https'); 
var http = require('http'); 
var fs = require('fs'); 
var app = express(); 

var options = { 
    key: fs.readFileSync('/path/to/key.pem'), 
    cert: fs.readFileSync('/path/to/cert.pem') 
}; 

http.createServer(app).listen(80); 
https.createServer(options, app).listen(443); 

Для полной подробно см doc