Да, это можно сделать, и, похоже, у вас уже есть большая часть того, что вам нужно.Просто отправьте перенаправление в ваш обработчик app.get
app.get('/secretStuff', function(req,res) {
res.redirect('https://' + req.header('Host') + req.url);
}
Также убедитесь, что вы делаете что-то вроде app.listen(80)
и appSecure.listen(443)
, чтобы фактически запустить серверы на соответствующем порту.В противном случае обязательно создайте URL-адрес HTTPS с правильным портом.Для производства эта вещь обычно обрабатывается за пределами вашего сервера приложений (node.js) с обратным прокси-сервером, таким как nginx
.Это легко сделать в nginx, который позволит вашему процессу node.js запускаться без полномочий root и избавит от необходимости иметь клиентов, напрямую подключающихся к node.js, который не так закален в битве, как nginx, для обслуживания подключенных в реальном времени TCP-соединений(Я перефразирую самого Райана Даля здесь).