Введение
В этом проекте вы научитесь создавать обратный прокси-сервер с использованием Node.js. Обратный прокси-сервер - это сервер, который находится между клиентом и сервером backend, пересылая запросы от клиента к серверу backend и возвращая ответ обратно клиенту.
👀 Предварительный просмотр

🎯 Задачи
В этом проекте вы научитесь:
- Создавать HTTP-сервер с использованием Node.js
- Использовать
Stream pipeдля прямого передачи данных ответа GitHub клиенту - Запускать обратный прокси-сервер и тестировать его
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться в концепции обратного прокси и том, как он работает
- Создать обратный прокси с использованием Node.js для проксирования запросов к веб-сайту GitHub
- Реализовать функцию обратного прокси с использованием
Stream pipe - Запустить и протестировать обратный прокси-сервер
Реализация обратного прокси
Для начала откройте редактор. Вы должны увидеть файл в редакторе - "proxy.js".
В этом шаге вы научитесь использовать Stream pipe для прямого передачи данных ответа GitHub клиенту. Следуйте шагам ниже, чтобы выполнить этот шаг:
- В файле
proxy.jsнайдите комментарий// TODOв функцииhttp.createServer. - Замените комментарий
// TODOследующим кодом:
https.get(uri, function (response) {
response.pipe(res);
});
Этот код использует Stream pipe для прямого передачи данных ответа GitHub клиенту.
- Сохраните файл
proxy.js.
Запустите сервер обратного прокси
В этом шаге вы научитесь запускать сервер обратного прокси и тестировать его.
- Откройте терминал и перейдите в каталог проекта.
- Запустите следующую команду, чтобы запустить сервер обратного прокси:
node proxy.js
Вы должны увидеть следующий вывод:
Server running at http://localhost:8080/
- Откройте другой терминал и запустите следующую команду, чтобы протестировать обратный прокси:
curl --connect-timeout 2 -m 5 localhost:8080/pricing | grep GitHub
Эта команда отправляет запрос на сервер обратного прокси, который в свою очередь получает содержимое с веб-сайта GitHub и возвращает его клиенту.
- Вы должны увидеть информацию о ценообразовании GitHub, отображаемую в терминале.

Поздравляем! Вы успешно создали обратный прокси с использованием Node.js. Теперь вы можете экспериментировать с обратным прокси, изменив код и тестируя разные сценарии.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



