Skip to content

Latest commit

 

History

History
27 lines (24 loc) · 6.16 KB

TASK.md

File metadata and controls

27 lines (24 loc) · 6.16 KB

Лабораторная работа №17. Web-сервера, обратный прокси-сервер и балансировщик нагрузки NGINX (продолжение)

  • Установить NGINX на компьютер, флеш-накопитель или виртуальную облачную машину. Рекомендуется использование ОС Linux (например Ubuntu), но возможна и установка ограниченной версии под ОС Windows. В отчете привести процесс установки (действия).
  • Настроить сервер NGINX для передачи данных по протоколу HTTP/2.0. Отобразить в браузере передачу данных по HTTP/2.0. Необходимо создать ключ с помощью openssl. Выполнить подключение с самоподписанным сертификатом. При тестировании необходимо передавать web-страницу, содержащую HTML, CSS и JS файлы.
  • Получить бесплатное DNS имя. Получить сертификат от Let's Encrypt. Установить сертификаты с помощью certbot. В отчете описать процесс сертификации и с помощью Wireshark привести, полученные клиентом, сертификаты.
  • Настроить NGINX для проксирования ngnix.org. Настроить NGINX как обратный прокси-сервер для простейшего сервера на Node.js или PHP. Использовать заголовки add_header и proxy_set_header. В отчете привести пример и файл конфигурации.
  • Настроить NGINX как балансировщик нагрузки для 3-х серверов, запущенных на различных портах с помощью upstream. Запустить 3 простых сервера Node.js или PHP. Показать работу балансировщика по методу RoundRobin. Показать работу балансировщика при отключении и подключении серверов.
  • Настроить NGINX как балансировщик нагрузки с Sticky Session. Настроить NGINX как балансировщик нагрузки по методу равномерной загрузки.

Лабораторная работа №21. Сервис с Rest API.

  • Создать простой REST API сервис для управления списком задач (To-Do list). Реализовать методы для создания, чтения, обновления и удаления задач.
  • Добавить функционал аутентификации пользователей в REST API сервисе. Пользователь должен получить токен доступа для выполнения операций с задачами.
  • Реализовать возможность фильтрации и сортировки задач в REST API сервисе. Добавить параметры запроса для выборки задач по определенным критериям.
  • Создать метод для экспорта данных в различные форматы (например, JSON, CSV) в REST API сервисе. Пользователь может получить данные в нужном формате для дальнейшей обработки.
  • Добавить возможность комментирования задач в REST API сервисе. Пользователь может оставлять комментарии к задачам и видеть комментарии других пользователей.

Лабораторная работа №24. Развертывание приложения при помощи Docker.

  • Создать Docker образ веб-приложения. Образ должен содержать все необходимые зависимости и файлы приложения.
  • Настроить Dockerfile для сборки образа веб-приложения, включая установку зависимостей, копирование файлов и запуск приложения.
  • Запустить контейнер с созданным Docker образом веб-приложения и проверить его работоспособность через браузер.
  • Развернуть базу данных (например, MySQL) в Docker контейнере и настроить веб-приложение на подключение к этой базе данных.
  • Создать Docker-compose файл для запуска веб-приложения и базы данных в отдельных контейнерах, а также настройки их взаимодействия.
  • Добавить возможность масштабирования веб-приложения путем запуска нескольких инстансов контейнера с помощью Docker-compose.
  • Настроить автоматичесное обновление Docker образа веб-приложения при обновлении кода из репозитория (например, GitHub).
  • Использовать Docker Swarm для развертывания кластера из нескольких узлов и размещения веб-приложения на этом кластере.
  • Настроить мониторинг и логирование контейнеров с помощью инструментов, таких как Prometheus и Grafana.
  • Запустить в Docker приложении сервер из задания №2, подключиться к нему 3-мя клиентами.