ДЗ
Браузерное приложение и балансировщик.
1. Верификация строки со скобками
Используя Docker, вы описали сборку двух контейнеров – один с nginx, второй – с php-fpm и вашим кодом.
Используя docker-compose вы запускаете оба контейнера.
Контейнер с nginx пробрасывает 80 порт на вашу хостовую машину и ожидает соединений.
Клиент соединяется, и шлёт следующий HTTP-запрос:
POST / HTTP/1.1
string=(()()()()))((((()()()))(()()()(((()))))))
String - это POST-параметр, который можно проверять:
1.1. На непустоту
1.2. На корректность кол-ва открытых и закрытых скобок
Все запросы с динамическим содержимым (*.php) nginx, используя директиву fastcgi_pass, проксирует в контейнер с php-fpm и вашим кодом.
Nginx должен обрабатывать запросы не обращая внимания на директиву Host. После обработки,
• если строка корректна, то пользователю возвращается ответ 200 OK, с информационным текстом, что всё хорошо;
• если строка некорректна, то пользователю возвращается ответ 400 Bad Request, с информационным текстом, что всё плохо.
2. Создать балансируемый кластер
2. 1. Балансировщик nginx-upstream
2. 2. Балансируемые бэкенды на nginx (у каждого свой php-fpm, в идеале - можно запрашивать любой доступный fpm)
2. 3. Подключите к обоим контейнерам fpm контейнер с Redis
2. 4. Если у Вас есть балансировка, стандартными сессиями уже не обойтись. Иначе не будет работать аутентификация. Переведите хранение сессий в него
3.* Усложнённая задача для тех, кто хочет проверить свои силы
3.1. Объедините контейнеры Redis в кластер