Docker Swarm -> Ingress -> Nginx -> proxy_pass :: как на nginx получать реальный ip клиента? в сворме 3 ноды, service nginx на manager ноде 80:80 и 443:443 Publish network ingress остальные сервисы в приватной сетке, каждый на своём порту если нджинксу ставлю типа такого:ports: - target: 80 published: 80 protocol: tcp mode: host - target: 443 published: 443 protocol: tcp mode: host не поднимается, кто нибудь сталкивался с такой проблемой? ps кубер не предлагать, спасибо

11 Мар 2023 в 19:53
127 +2
0
Ответы
1

Для получения реального IP клиента на Nginx, когда работаете с Docker Swarm и используете Ingress, можно использовать заголовок X-Real-IP. В данном случае, когда Nginx работает в качестве обратного прокси, необходимо настроить его для передачи реального IP клиента.

Пример конфигурации Nginx для этого может выглядеть примерно так:

server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend_service;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

В этом конфигурации, мы используем заголовок X-Real-IP для передачи реального IP клиента на бекенд сервис. При этом также используются заголовки X-Forwarded-For и X-Forwarded-Proto для передачи информации о проксирующем сервере и используемом протоколе.

Также убедитесь, что ваш сервис Nginx настроен правильно для работы в Docker Swarm с использованием Ingress и что все сервисы находятся в одной сети для корректной маршрутизации трафика.

Надеюсь, это поможет вам решить проблему получения реального IP клиента на Nginx при работе с Docker Swarm и Ingress.

16 Апр в 16:32
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 436 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир