@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.