1 of 13

Веб-орієнтовані системи і технології

Лекція №5. Конфігурування nginx

2 of 13

На минулій лекції розглянули

  • Створення клієнтського сервісу з Create React App (сервіс Frontend)
  • Налаштування Docker для клієнтського сервісу
  • Особливості конфігурації клієнтського додатку для режиму Production
  • Налаштування Docker Compose для клієнтського сервісу в режимах Dev і Production для побудови образів та їх роботи в контейнерах

3 of 13

Питання поточної лекції

  • Установка, налаштовування конфігурації nginx
  • Створення віртуального хосту
  • Проксірування запитів
  • Перезаписи для запитів
  • Особливості налаштування nginx для версії розробки

4 of 13

nginx

  • Користувач заходить за доменним іменем
  • Потрапляє на IP-адресу з портом 80
  • Nginx вирішує на який сервіс перенаправляти запит

5 of 13

Конфігурація docker-compose.yml для nginx

6 of 13

Налаштування nginx.prod.conf

  • Всі запити на наш домен ми хочемо проксірувати на сервіс frontend
  • Хост frontend існує лише у внутрішній мережі докера

7 of 13

Файл hosts

127.0.0.1 websystem-docker-demo.com

Після чого можна побудувати проект та ввести запит за іменем створеного віртуального хосту

8 of 13

Відкриті порти можна прибрати. Тепер даний сервіс доступний лише в мережі докера

9 of 13

Проксірування запитів з фронтенда на бекенд

  • Робимо налаштування конфігурації nginx
  • клієнтська частина взагалі не повинна знати про мережу Докера, які контейнері в нього є і куди проксирувати запити. Запити можна робити лише на поточний хост, а nginx завдяки правилам location буде направляти їх куди потрібно

10 of 13

Створюємо запит у фронтенді

  • Примітка. Не забути встановити і задіяти axios

11 of 13

Результат після побудови

12 of 13

Development-версія

  • nginx.dev.conf
  • docker-compose-dev.yml

13 of 13

Висновки

  • Як налаштовувати nginx та створювати віртуальний хост
  • як перенаправляти зовнішні запити на потрібні сервіси мережі контейнерів
  • Як робити перезаписи рядків запитів