Шифруются ли данные ответа c сервера на node.js через nginx?
У меня на сервере есть API. Обращение к нему производится из браузера по протоколу https://имя.домена. На сервере запросы принимает nginx (SSL-сертификаты настроены) и направляет на http://localhost:3000, на котором собственно и запущен API реализованный с помощью встроенного в Node.js модуля http (не https). Когда браузер отправляет запрос - данные шифруются, это понятно, а когда сервер отвечает на запрос, что происходит? Данные пересылаются через nginx и уже он шифрует ответ? То есть в коде API использовать модуль https нет смысла? Лучше оставить http, чтобы выиграть в быстродействии?
Ответы (1 шт):
Если вы не разделили nginx (фронтэнд) и node.js (бекенд) на разные vm, то шифровать внутри одной vm не имеет смысла.
Если разделили - имеет смысл шифровать, если ваша сетевая инфраструктура недоверенная / потенциально скомпрометированная.
Когда node.js отвечает на запрос, данные тоже возвращаются клиенту через прокси nginx, и шифруется, всё в рамках сессии.