6

Я запускаю службу nginx в контейнере докера с Google Container Engine, который пересылает определенные имена доменов другим службам, таким как API, Frontend и т. Д. У меня есть простой кластер для конфигурации с настроенным Сервисы. Служба Nginx - это баланс нагрузки.Вперед HTTPS-клиент ip из Google Container Engine

Окружающая переменная REMOTE_ADDR всегда содержит внутренний адрес кластера Kubernetes. Я искал HTTP_X_FORWARDED_FOR, но он отсутствует в заголовках запроса. Можно ли настроить службу для сохранения внешнего клиента ip в запросах?

ответ

3

С текущей реализацией балансировки L3 (начиная с Kubernetes 1.4) невозможно получить IP-адрес источника для подключения к вашему сервису.

Это звучит как ваш случай использования может быть хорошо обслуживается с помощью Ingress объекта (или пути создания HTTP/S load balancer вручную), который поместит IP-адрес источника в заголовок HTTP X-Forwarded-For для облегчения поиска по вашим движкам.

+0

Я создал балансировщик нагрузки HTTPS и всегда получаю ошибку 502, потому что проверки работоспособности не прошли. Это случай, когда мой кластер ошибочно настроен? – Sigrlami

+0

Вы добавили правило брандмауэра, чтобы позволить им ударить по вашим бэкэндам? –

+0

Да, так дело в том, что у меня есть правило брандмауэра, чтобы нажать тег 'my-https', а также проверить работоспособность для IG, проверка работоспособности для группы не работает и перезагружает VM и отбрасывает теги, которые используются для правила брандмауэра. Я запускаю контейнеры на этих виртуальных машинах, и на самом деле на VM нет ничего, что должно отвечать, но у меня есть сопоставление портов VM 443-> 443 (Container Nginx), и я думаю, что это проблема. – Sigrlami

Смежные вопросы