@eryn.rodriguez
Для обслуживания обоих протоколов HTTP и HTTPS в Node.js-приложениях без использования фреймворков, можно использовать модули http и https встроенные в Node.js.
Вот пример кода, который показывает, как создать сервер для обслуживания обоих протоколов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
const http = require('http');
const https = require('https');
const fs = require('fs');
// Загрузка сертификата и ключа для HTTPS
const options = {
key: fs.readFileSync('ключ.pem'),
cert: fs.readFileSync('сертификат.pem')
};
// Функция, которая обрабатывает запросы
const requestHandler = (req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World
');
};
// Создание HTTP сервера
const httpServer = http.createServer(requestHandler);
// Слушаем порт 80 для HTTP
httpServer.listen(80, () => {
console.log('HTTP Server running on port 80');
});
// Создание HTTPS сервера
const httpsServer = https.createServer(options, requestHandler);
// Слушаем порт 443 для HTTPS
httpsServer.listen(443, () => {
console.log('HTTPS Server running on port 443');
});
|
В данном примере, создаются два сервера - один для обработки HTTP-запросов на порту 80, а другой для обработки HTTPS-запросов на порту 443. Опция options используется для загрузки сертификата и ключа для HTTPS сервера.
Замените пути к ключевому файлу (ключ.pem) и сертификату (сертификат.pem) на свои собственные файлы.
Этот пример демонстрирует базовый способ обслуживания обоих протоколов HTTP и HTTPS без использования фреймворков в Node.js.