Инструменты пользователя

Инструменты сайта


vji:trusted_proxy:start

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
vji:trusted_proxy:start [2026/05/27 07:19] vjivji:trusted_proxy:start [2026/06/05 06:30] (текущий) vji
Строка 1: Строка 1:
 ====== Реализация Trusted Proxy Chain для X-Forwarded-For в Nginx ====== ====== Реализация Trusted Proxy Chain для X-Forwarded-For в Nginx ======
  
-[[vji:trusted_proxy1:start| Подготовка окружения]]\\ +**[[vji:trusted_proxy1:start| Подготовка окружения]]**\\ 
-[[vji:trusted_proxy2:start| Создание всех необходимых файлов]]+**[[vji:trusted_proxy2:start| Создание всех необходимых файлов]]**\\ 
 +**3 Проверка структуры файлов** 
 +  * Проверьте, что все файлы созданы 
 +<code> 
 +ls -la 
 +</code> 
 +  * Должны увидеть: 
 +<code> 
 +-rw-r--r-- app.py 
 +-rw-r--r-- docker-compose.yml 
 +-rw-r--r-- Dockerfile 
 +-rw-r--r-- requirements.txt 
 +drwxr-xr-x nginx/ 
 +</code> 
 +  * Проверьте содержимое директории nginx 
 +<code> 
 +ls -la nginx/ 
 +</code> 
 +  * Должны увидеть: 
 +<code> 
 +-rw-r--r-- nginx1.conf 
 +-rw-r--r-- nginx2.conf 
 +-rw-r--r-- nginx3.conf 
 +</code> 
 + 
 +**4 Запуск стенда** \\ 
 +4.1 Сборка и запуск контейнеров \\ 
 +  * Первый запуск (сборка образов) 
 +<code> 
 +docker-compose up -d --build 
 +</code> 
 +'' Что означает каждая опция:\\ 
 +up - запуск контейнеров\\ 
 +-d - detached mode (в фоновом режиме)\\ 
 +--build - пересобрать образы перед запуском '' 
 + 
 +4.2 Проверка статуса контейнеров \\ 
 +Просмотр работающих контейнеров 
 +<code> 
 +docker-compose ps 
 +</code> 
 +''Должны увидеть 4 контейнера со статусом "Up"'' 
 + 
 +4.3 Проверка логов (если нужно отладить) \\ 
 +Логи всех контейнеров 
 +<code> 
 +docker-compose logs 
 +</code> 
 +Логи конкретного контейнера 
 +<code> 
 +docker-compose logs nginx1 
 +docker-compose logs app 
 +</code> 
 +Логи в реальном времени 
 +<code> 
 +docker-compose logs -f 
 +</code> 
 + 
 +**5 Тестирование базовой функциональности**\\ 
 +5.1 Быстрая проверка (ручной тест)\\ 
 + 
 +Проверка, что приложение отвечает через nginx1\\ 
 +<code> 
 +curl http://localhost:8081/ 
 +</code> 
 +Ожидаемый ответ:\\ 
 +''{"message":"X-Forwarded-For header received","value":"172.x.x.x","client_ip":"172.x.x.x",...}''\\ 
 +5.2 Проверка всех цепочек\\ 
 + 
 +Проверка прямой маршрут\\ 
 +<code> 
 +curl -s http://localhost:8081/ | jq '.value' 
 +</code> 
 +Проверка цепочки из двух прокси\\ 
 +<code> 
 +curl -s http://localhost:8081/via2/ | jq '.value' 
 +</code> 
 +Проверка цепочки из трех прокси\\ 
 +<code> 
 +curl -s http://localhost:8081/via2-3/ | jq '.value' 
 +</code> 
 +5.3 Проверка защиты от подделки\\ 
 +Попытка подменить IP\\ 
 +<code> 
 +curl -s -H "X-Forwarded-For: 1.2.3.4" http://localhost:8081/ | jq '.value' 
 +</code> 
 +Должен вернуться реальный IP, а не 1.2.3.4
vji/trusted_proxy/start.1779866356.txt.gz · Последнее изменение: 2026/05/27 07:19 — vji

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki