Переадресация True-Client-IP Akamai через F5 BigIP
Akamai возвращает IP-адрес клиента в заголовке True-Client-IP. Это можно отключить в настройках Akamai, чтобы Akamai возвращал IP-адрес клиента в заголовке HTTP-X-Forwarded-For, но он будет содержать несколько IP-адресов (Client IP, Proxy 1, Proxy 2 и т. Д.).
Мне нужно получить IP-адрес клиента на веб-сервере (IIS 7.5) за балансировщиком нагрузки F5.
Что мне нужно сделать в F5?
Будет ли F5 передавать заголовок True-Client-IP веб-серверам напрямую?
Или я должен изменить настройки Akamai, чтобы вместо них возвращать ip клиента в заголовке HTTP-X-Forwarded-For?
1 ответ
Я бы использовал X-Forwarded-For, потому что у BIG-IP уже есть условия, чтобы пройти через это.
В зависимости от версии BIG-IP, вы можете сделать это в iRule или в более новых версиях, X-Forwarded - это функция, включаемая в вашем профиле HTTP. Тогда вам просто нужно настроить IIS для принятия этих новых данных.
https://devcentral.f5.com/questions/big-ip-http-profile-insert-x-forwarded-for-enabled
Это должно начать вас. Если вы до 11.x TMOS, обратитесь к этому обсуждению:
Обновление: по умолчанию, если используется SNAT, вы увидите IP-адрес пула SNAT. X-Forwarded-For - это стандартный метод отправки данных клиента для веб-приложений. В 11.x BIG-IP вы можете создать профиль HTTP и проверить X-Forwarded-For, и он просто отправит эти внешние данные на веб-сервер. Я думаю, что для IIS 7.5 все еще требуются настраиваемые фильтры журналирования, чтобы перехватить его, более новый 8.X доступен в качестве опции без особых усилий.
Это все, если вы используете SNAT (большинство людей используют). Мы делаем это потому, что большинство людей не используют BIG-IP в качестве исходящего шлюза, а SNAT устраняет проблемы асинхронной маршрутизации. Однако, если вы используете BIG-IP в качестве исходящего шлюза для сервера IIS, вы можете обойти требования SNAT; как входящий, так и исходящий трафик проходят через BIG-IP. В этих случаях SNAT не требуется, и вы всегда можете получить исходные IP-данные извне.
Недостатком является то, что большую часть времени BIG-IP не является устройством периметра, и все же могут быть другие устройства, которые скрывают IP-адрес источника. Поскольку X-Forwarded-For является отдельным заголовком в полезной нагрузке HTTP, он может обойти проблемы изменения IP-адресов источников.
Следовательно, перейдите на X-Forwarded-For.
Дай мне знать, если у тебя есть другие вопросы.