Вход nginx на kuberentes видит IP-адрес узла вместо общедоступного запрашивающего интернет-ресурса

У меня есть кластер kubernetes и вход nginx. Я развернул вход для маршрутизации трафика из домена example.org в определенный контейнер. Теперь я пытаюсь заблокировать все запросы, которые не поступают из диапазона IP-адресов, внесенных в белый список. Поэтому я пометил созданный вход знаком nginx.ingress.kubernetes.io/whitelist-source-range. Однако весь трафик блокируется, поэтому я просмотрел журналы nginx и понял, что на самом деле nginx видит IP-адрес внутреннего узла вместо общедоступного интернет-адреса запрашивающего.

2022/05/06 11:39:26 [error] 10719#10719: *44013470 access forbidden by rule, client: 172.5.5.84, server: example.org, request: "GET /.svn/wc.db HTTP/1.1", host: "example.org"

Я не уверен, что на самом деле не так. Когда я удаляю аннотацию из белого списка, все работает как положено.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
0
0
26
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, эта документация устранила проблему https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip.

Пришлось поменять externalTrafficPolicy: Cluster на externalTrafficPolicy: Local

Другие вопросы по теме