Используйте самое правое значение в качестве доверенного, а любые другие значения в качестве информационных, но недоверенных, поскольку они на самом деле копируются из заголовков входящего запроса.
Тестирование показывает, что эта конечная точка использует семантику HTTP X-Forwarded-For
и возвращает окончательное результирующее значение ... поэтому, если пользователь находится за каким-либо прокси, который внедряет X-Forwarded-For
, эти значения из входящего запроса включаются в ответ и фактический адрес, который использовался дляконтакт этой службы отображается справа, как последнее значение.
Вы можете убедиться в этом сами, введя в запрос один или несколько заголовков X-Forwarded-For
.
Значения слева,если они присутствуют, они могут быть частными внутренними IP-адресами в сети запрашивающей стороны, но конструкция X-Forwarded-For
означает, что они не могут быть ни доказаны, ни опровергнуты как точные.Крайний правый всегда тот, который является правильным.
Обратите внимание, что вообще увидеть это поведение гораздо реже, если вы используете https для доступа к конечной точке, поскольку прокси гораздо реже могутввести такие заголовки.(Это невозможно при использовании MITM-прокси и подделки сертификатов, но хорошо работающая система никогда бы этого не сделала.)
Эта услуга от AWS является функцией устранения неполадок, которая, по-видимому, официально не документирована.Тот факт, что он использует X-Forwarded-For
, предполагает, что этот тестовый сайт - что неудивительно - размещен за балансировщиком нагрузки, и появление нескольких адресов в ответе, вероятно, было непреднамеренной «функцией», которая возникает вследствие того, как онизначально был реализован.
Лучшая практика, вероятно, заключается в создании собственной службы «что такое мой IP» для встраивания в ваши собственные продукты, поскольку иногда авторы вредоносных программ / ботнетов злоупотребляют публичными службами.Когда это происходит, ваше программное обеспечение может быть ошибочно принято за вредоносное ПО, что создает беспорядок для вас, чтобы попытаться объяснить возникшую панику.Сторонние службы, даже если они «общедоступны», могут предпочесть не вызывать их службы без разрешения.