Мой веб-сайт работает под управлением балансировщика нагрузки aws. Теперь, если я попытаюсь запретить любой IP-адрес для доступа к моему веб-сайту, используя «deny 59.92.130.106» в разделе location /, ничего не произошло. Этот IP-адрес все еще получает ответ 200. Кто-нибудь знает, почему это произошло и как я могу заблокировать любой IP-адрес в nginx, работающем за балансировщиком нагрузки aws? Я использовал запись ниже, но она не работает.
location / {
deny 59.92.130.106;
}
Если ваш балансировщик нагрузки правильно настроен для поддержки X-Forwarder-For
HTTP-заголовок, вы можете использовать что-то вроде
map $http_x_forwarded_for $block {
59.92.130.106 1;
<another_blocked_ip> 1;
...
}
server {
...
location / {
if ($block) { return 403; }
...
}
...
}
или если вы хотите разрешить доступ только для некоторых IP-адресов
map $http_x_forwarded_for $block {
59.92.130.106 '';
<another_allowed_ip> '';
...
default 1;
}