AWS: исходный IP-адрес не отображается в экземпляре через Network Load Balancer

У меня есть шлюз API, который отправляет запросы через ссылку VPC на балансировщик сетевой нагрузки (NLB), который затем перенаправляется на целевой экземпляр. Согласно документации AWS, когда целевая группа является экземпляром, исходный IP-адрес передается без ограничений целевому экземпляру, но если по IP-адресу, то IP-адрес NLB. Однако, несмотря на то, что целевая группа установлена ​​на экземпляр, я все еще получаю IP-адрес NLB.


person binshi    schedule 11.12.2017    source источник


Ответы (1)


Если вам нужен исходный IP-адрес, вы можете сопоставить контекстную переменную context.identity.sourceIp с заголовком интеграции документы. Вы сможете получить доступ к этому заголовку на своем сервере.

Документы для NLB относятся к поддержка протокола прокси 2, которая позволит вам получить исходный IP-адрес соединения с nlb. Для этого требуется запустить веб-сервер с включенным протоколом прокси (у squid / nginx есть флаг для включения этого). Что касается ссылок VPC, этот IP-адрес не совпадает с исходным IP-адресом запроса к вашему серверу, поскольку NLB фактически видит соединения от шлюза API, поэтому включение этого параметра на NLB вернет внутренние IP-адреса шлюза API.

В чванстве это будет выглядеть как

...
  "requestParameters" : { 
    "integration.request.header.x-source-ip" : "context.identity.sourceIp",                    
   }
...
person Abhigna Nagaraja    schedule 28.12.2017