Сохранить исходный IP-адрес запрашивающего - PullRequest
0 голосов
/ 07 мая 2020

Как мне сохранить исходный IP-адрес клиента при использовании ingress-controller в Kubernetes?

Я не нашел решения в документации.

Эта ссылка не работает: http://ingress.kubernetes.io/preserve-host

1 Ответ

1 голос
/ 07 мая 2020

Из do c

По умолчанию NGINX использует содержимое заголовка X-Forwarded-For как источник правды для получения информации об IP-адресе клиента. Это работает без проблем в L7, если мы настроим параметр proxy-real-ip-cidr с правильной информацией об IP / сетевом адресе доверенного внешнего балансировщика нагрузки.

Если входной контроллер работает в AWS нам нужно использовать VP C IPv4 CIDR.

Другой вариант - включить протокол прокси, используя use-proxy-protocol: "true".

В этом режиме NGINX не использует содержимое заголовка чтобы получить исходный IP-адрес соединения.

Если вы используете прокси-сервер L4 для перенаправления трафика c на модули NGINX и завершения HTTP / HTTPS там, вы потеряете IP-адрес удаленной конечной точки адрес. Чтобы предотвратить это, вы можете использовать протокол прокси для пересылки трафика c, он отправит детали соединения перед пересылкой самого соединения TCP.

Среди других ELB в AWS и HAProxy поддерживает протокол прокси.

...