← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: навчитися ставити перед контейнером реверс проксі з обмеженням кількості запитів. Крок 1. Підготувати простий web сервіс у контейнері. Команда: docker run -d --name app83 -p 8083:80 nginx Пояснення: будемо ставити проксі перед цим сервісом. Крок 2. Запустити проксі контейнер nginx або інший з окремим портом. Пояснення: проксі буде слухати порт 80 хоста і проксирувати на 8083. Крок 3. Сконфігурувати upstream на app83. Пояснення: використай internal адресу контейнера або порт хоста. Крок 4. Додати у конфіг проксі секцію limit_req або аналогічну. Пояснення: наприклад 10 запитів на секунду на одну ip адресу. Крок 5. Перевірити базовий доступ через проксі. Команда: curl -i http://proxy-host/ Крок 6. Згенерувати трафік вище порогу. Пояснення: використай ab або hey щоб зробити багато запитів. Крок 7. Перевірити що надлишкові запити отримують помилки ліміту. Пояснення: це можуть бути статуси 429 або інші коди залежно від конфігу. Крок 8. Змінити параметри лімітів і повторити тест. Пояснення: подивися як це впливає на поведінку. Крок 9. Задокументувати цільові значення лімітів для різних середовищ. Пояснення: dev, stage, prod можуть мати різні пороги. Крок 10. Міні звіт. Завдання: опиши коли rate limiting варто впроваджувати саме на рівні проксі а не у коді застосунку.