#node.js #express #ssl #nginx #postman
#node.js #экспресс #ssl #nginx #postman
Вопрос:
У меня есть Nginx с настройкой ssl, которая работает хорошо. Я использую его в качестве прокси-сервера для своего сервера nodejs. У меня есть только SSL в Nginx, а не Nodejs spp.
Проблема: Postman и другие HTTP-клиенты все еще могут отправлять post-запросы без SSL-сертификата. Этот сервер nodejs предназначен как для клиента Android, так и для веб-клиента, должен ли я также напрямую подключать SSL к серверу nodejs (уровень приложения)? как показано ниже:
const https = require('https');
const express = require('express');
// const httpsOptions = {cert, ca, key};
const app = express();
const httpsServer = https.createServer(httpsOptions, app);
httpsServer.listen(443, 'exampledomain.com');
Приложения Flutter также могут отправлять запросы на сервер без SSL. Это означает, что этот сервер по-прежнему небезопасен.
Как мне запретить HTTP-клиентам доступ к серверу без SSL?
Комментарии:
1. Можете ли вы опубликовать свою конфигурацию nginx? Ваш сервер узла не должен запускаться / прослушиваться по протоколу https. любой другой порт, который не конфликтует с nginx, абсолютно подходит. Клиент сначала достигает вашего nginx через http / https, а nginx «перенаправляет» запрос на ваш node.js (который прослушивается на любом порту, который вы хотите) У вас есть «перенаправление» всех клиентов, которые подключаются через http на nginx к https
Ответ №1:
По умолчанию postman всегда отправляет запросы с SSL-сертификатом, убедитесь, что вы отключили проверку SSL в настройках.
Возможно, ваш код уже работает, но вы вводите тест в заблуждение.