$binary_remote_addr
Переменная $binary_remote_addr содержит двоичное представление IP-адреса клиента. — NGINX Core (HTTP)
Описание
Переменная $binary_remote_addr в NGINX используется для получения двоичного формата IP-адреса клиента, связанного с запросом. Эта переменная особенно полезна в конфигурациях управления доступом и фильтрации. При получении запроса NGINX извлекает IP-адрес клиента и преобразует его в 32-bit или 128-bit двоичный формат, в зависимости от того, использует ли клиент IPv4 или IPv6, соответственно. Используя эту переменную, системные администраторы могут эффективно сравнивать и сопоставлять IP-адреса в различных настройках контроля доступа, таких как 'allow' и 'deny'. Как правило, эта переменная устанавливается во время начальной обработки запроса, где она заполняется из структуры 'sockaddr', содержащей информацию об адресе клиента. Двоичное представление упрощает выполнение быстрых сравнений и проверок списков разрешённых или запрещённых IP-адресов без необходимости постоянного преобразования форматов. Благодаря тому, что она имеет двоичную форму, эта переменная значительно более эффективна для NGINX при обработке директив управления доступом, особенно в сценариях с высокой пропускной способностью.
Пример конфига
http {
server {
location / {
deny 192.168.1.1;
allow all;
}
}
}Подсистема
httpКэшируется
ДаКонтексты
http, server, location, ifЭта переменная не так легко читается человеком по сравнению с её строковым эквивалентом ($remote_addr) и должна использоваться только в контекстах, где приемлем двоичный формат.
Необходимо проявлять осторожность при использовании её вместе с другими директивами, которые ожидают строковые форматы, чтобы избежать ошибок конфигурации.