← До фільтрів та технологій

← До списку лабораторних по Docker

Docker Лабораторна 83: Ліміти запитів через проксі

Технологія: Docker

Номер лабораторної: 83 · Рівень: middle

Тема: Docker і HTTP reverse proxy з rate limiting

Повний опис / сценарій лабораторної:

Мета: навчитися ставити перед контейнером реверс проксі з обмеженням кількості запитів.



Крок 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 варто впроваджувати саме на рівні проксі а не у коді застосунку.