Задать вопрос
@Alexeevich

Как реализовать обмен между двумя Node.js?

Добрый день!

Изучаю JS и Node.js
Имеется простенький HTTPS сервер на Node.js:
var fs = require('fs'),
    https = require('https'),
    express = require('express'),
    app = express();

    https.createServer({
      key: fs.readFileSync('./key.pem'),
      cert: fs.readFileSync('./cert.pem')
    }, app).listen(443);

    app.get('*/*', function (req, res) {
      console.log(req.headers)
      console.log(req.url)
      res.header('Content-type', 'text/html');
      res.send('<h1>yeap</h1>');
});


Объясните на пальцах что нужно сделать чтобы получить следующий результат:
(допустим Node1 -HTTPS сервер, а Node2 HTTP сервер)

1) Node1 получает HTTPS от клиента, расшифровывает и передает Node2
2) Node2 обрабатывает полученные запросы и возвращает результат Node1
3) Node1 шифрует полученные данные и возвращает клиенту
  • Вопрос задан
  • 556 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 2
MarcusAurelius
@MarcusAurelius Куратор тега Node.js
автор Impress Application Server для Node.js
Это задача терминации SSL, ее действительно можно отделять от бизнес-логики сервера, и терминировать при помощи nginx, специализированных аппаратных или программных решений или датацентры часто имеют такой отдельный сервис, как терминация SSL. Можно делать это и нодой, в некоторых случаях это предпочтительно, когда соединения держатся долго (вебсокеты или SSE), чтобы не держать много открытых TCP сокетов 2 раза, т.е. nginx держит и пробрасывает в ноду и выходит, что сокетов на сервере в 2 раза больше открыто, а значит памяти больше и скорость отклика у системы в целом хуже. Но вот так разделять это на два разных процесса - в этом не вижу ни малейшего смысла.
Ответ написан
@Alexeevich Автор вопроса
Я бы с удовольствием реализовал все на едином https сервере, но ситуация сложнее.
Есть windows приложение являющееся http сервером, исходников приложения нет, стоит задача "портировать" данное приложение на web платформу.
Так же есть требование предоставить HTTPS доступ из вне к этому приложению, но в виду отсутствия исходников прикрутить HTTPS нет возможности.
Поэтому возникла идея развернуть какой-нибудь HTTPS сервер который будет промежуточным звеном между пользователем и windows приложением.
В виду того что будем использовать Node.js хотелось бы данный костыль реализовать на нем..опыт...спортивный интерес.
Если Node.js не подходит, то на чем можно реализовать данный костыль? Что почитать?

п.с. максимальное кол-во клиентов одновременных...максимум 200-300
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
edli007
@edli007
full stack, team lead
почему бы не использовать сокеты?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы