Я выполняю nginx веб-серверы позади эластичной подсистемы балансировки нагрузки в AWS. Через реальный IP проходят X-Forwarded-For. Столкнутая проблема - то, как использовать это, чтобы отклонить все и добавить в белый список только определенные источники для конкретных местоположений.
Что-то как: местоположение/test/{включает/etc/nginx/allowed-XForwardedFor.conf; отклоните все;}
Я могу поймать IP X-Forwarded-For с переменной и затем использовать его в conf файле или в некотором роде использовать его с позволить опцией в местоположениях или сделать это с помощью если условное выражение?
Используйте модуль realip nginx, и тогда вам не нужно будет беспокоиться о заголовке X-Forwarded-For; вы можете просто действовать по IP-адресам так, как если бы там не было балансировщика нагрузки.
Пример конфигурации:
http {
real_ip_header X-Forwarded-For;
set_real_ip_from 172.19.0.0/16; # Netblock for my ELB's