Доброго времени суток, коллеги.
Вопрос такой. Как написано в документации: ip_hash Задаёт для группы метод
балансировки нагрузки, при котором запросы распределяются по серверам на
основе IP-адресов клиентов. В качестве ключа для хэширования используются
первые три октета IPv4-адреса клиента или IPv6-адрес клиента целиком. Метод
гарантирует, что запросы одного и того же клиента будут всегда передаваться
на один и тот же сервер. Если же этот сервер будет считаться недоступным,
то запросы этого клиента будут передаваться на другой сервер. С большой
долей вероятности это также будет один и тот же сервер.
А каким образом определяется IP адрес клиента? Рискну предположить, что из
$remote_addr? Дело в том, что всё больше и больше сайтов используют
предварительную защиту от атак, типа ддос-гард, куратор, касперский и т.д.
Это означает, что все запросы приходят с одного и того же IP-адреса (или
пула адресов) сервера, осуществляющего защиту. Да, при этом, обычно
выставляется заголовок X-Real-IP содержащий фактический IP, но я не нашёл в
документации упоминаний о том, каким образом можно настроить ip_hash так,
чтобы он брал IP-адрес клиента из какого-либо заголовка.
Кто знает как это сделать?
С уважением, Виктор
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-ru