Задать вопрос
vo0ov
@vo0ov
Кодер на python

Как узнать реальный IP адрес клиента в подсети Docker?

У меня такая проблема — я не вижу IP клиентов, лишь внутренние из Docker сети.

Логи:
backend-1   |       INFO   172.18.0.5:34934 - "GET /tasks HTTP/1.0" 200
nginx       | 172.18.0.1 - - [11/Jan/2025:11:47:59 +0000] "GET /api/tasks HTTP/1.1" 200 2 "http://dev.zone/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 YaBrowser/24.12.0.0 Safari/537.36"


Мой nginx.conf:
events {}

http {
    server {
        listen 80;

        # Фронтенд
        location / {
            root /usr/share/nginx/html;
            index index.html;
        }

        # Прокси на бэкенд
        location /api/ {
            proxy_pass http://backend:8000/;
            proxy_set_header Host $host;


            # ПАРАМЕТРЫ НИЖЕ - это мои попытки исправить эту проблему.
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }

        # Прокси на phpMyAdmin
        location /phpmyadmin/ {
            proxy_pass http://phpmyadmin:80/;
            proxy_set_header Host $host;


            # ПАРАМЕТРЫ НИЖЕ - это мои попытки исправить эту проблему.
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}


Видел похожие статьи на хабре, но они мне не помогли.
  • Вопрос задан
  • 36 просмотров
Подписаться 1 Средний 6 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы