Получить реальный IP клиента на контейнере за AWS ALB - PullRequest
0 голосов
/ 21 января 2020

У меня есть один контейнер, работающий в экземпляре EC2 за AWS Application Load Balancer.

Контейнер работает с использованием network_mode = host и отображает простой JSON информации запроса и заголовков. Проблема в том, что я не получаю Реальный IP клиента. Вместо этого я получаю внутренний IP-адрес в заголовке X-Forwarded-For.

Также:

  • ALB Схема внутренняя
  • Мы используем корпоративный прокси

Чего мне не хватает?

Ответ JSON:

    {
  "path": "/",
  "headers": {
    "x-forwarded-for": "10.XXX.XX.XX",
    "x-forwarded-proto": "http",
    "x-forwarded-port": "80",
    "host": "test.com",
    "x-amzn-trace-id": "Root=1-XXXXXXX",
    "cache-control": "max-age=0",
    "upgrade-insecure-requests": "1",
    "user-agent": "Mozilla/5.0 ...",
    "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
    "accept-encoding": "gzip, deflate",
    "accept-language": "en-US,en;q=0.9",
    "cookie": "XXXX"
  },
  "method": "GET",
  "body": "",
  "fresh": false,
  "hostname": "test.com",
  "ip": "::ffff:10.YYY.YY.YY",
  "ips": [],
  "protocol": "http",
  "query": {},
  "subdomains": [
    "test"
  ],
  "xhr": false,
  "os": {
    "hostname": "ec2-instance"
  }
}

1 Ответ

0 голосов
/ 24 января 2020

Отвечая на мой собственный вопрос.

Случилось так, что перед нашим внутренним LoadBalancer есть NLB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...