Создание обратного прокси с использованием Node.js

JavaScriptBeginner
Практиковаться сейчас

Введение

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

👀 Предварительный просмотр

Предварительный просмотр сервера обратного прокси

🎯 Задачи

В этом проекте вы научитесь:

  • Создавать HTTP-сервер с использованием Node.js
  • Использовать Stream pipe для прямого передачи данных ответа GitHub клиенту
  • Запускать обратный прокси-сервер и тестировать его

🏆 Достижения

После завершения этого проекта вы сможете:

  • Разобраться в концепции обратного прокси и том, как он работает
  • Создать обратный прокси с использованием Node.js для проксирования запросов к веб-сайту GitHub
  • Реализовать функцию обратного прокси с использованием Stream pipe
  • Запустить и протестировать обратный прокси-сервер

Реализация обратного прокси

Для начала откройте редактор. Вы должны увидеть файл в редакторе - "proxy.js".

В этом шаге вы научитесь использовать Stream pipe для прямого передачи данных ответа GitHub клиенту. Следуйте шагам ниже, чтобы выполнить этот шаг:

  1. В файле proxy.js найдите комментарий // TODO в функции http.createServer.
  2. Замените комментарий // TODO следующим кодом:
https.get(uri, function (response) {
  response.pipe(res);
});

Этот код использует Stream pipe для прямого передачи данных ответа GitHub клиенту.

  1. Сохраните файл proxy.js.

Запустите сервер обратного прокси

В этом шаге вы научитесь запускать сервер обратного прокси и тестировать его.

  1. Откройте терминал и перейдите в каталог проекта.
  2. Запустите следующую команду, чтобы запустить сервер обратного прокси:
node proxy.js

Вы должны увидеть следующий вывод:

Server running at http://localhost:8080/
  1. Откройте другой терминал и запустите следующую команду, чтобы протестировать обратный прокси:
curl --connect-timeout 2 -m 5 localhost:8080/pricing | grep GitHub

Эта команда отправляет запрос на сервер обратного прокси, который в свою очередь получает содержимое с веб-сайта GitHub и возвращает его клиенту.

  1. Вы должны увидеть информацию о ценообразовании GitHub, отображаемую в терминале.

Описание изображения

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

Резюме

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

✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться