У меня следующая проблема. У меня обычная установка apache / varnish на сервере с 5 IP-адресами, и varnish отправляет каждый запрос в apache, используя локальный IP-адрес (что я считаю нормальным, поскольку в бэкэнде я могу получить реферер с помощью php $ _SERVER ['HTTP_X_FORWARDED_FOR'].
Я не могу использовать блоки файла .htaccess, поскольку apache получает только локальный IP-адрес. Все я deny from
внутри .htaccess никогда не применяется. Если я перейду на порт: 81 (порт apache), блок работает нормально.
Что мне нужно сделать, так это найти способ либо заблокировать IP от самого varnish, либо отправить обратно в apache исходный идентификатор реферера и все это без перезапуска varnish (конечно, если это невозможно, мне придется это сделать .. .)
Этот конкретный IP-адрес, который я хочу заблокировать, становится очень подозрительным ...
Спасибо всем заранее
Вы должны установить mod_rpaf на свой сервер Apache. Это обновит удаленный адрес с последним IP-адресом из заголовка X-Forwarded-For. В системах на основе Debian:
sudo apt-get install libapache2-mod-rpaf
затем перезапустите apache.
Избежать перезапуска лака можно следующим способом: http://technosophos.com/content/varnish-reloading-vcl-configuration-files-varnishadm
Я бы заблокировал это на стороне лака
http://www.varnish-cache.org/lists/pipermail/varnish-misc/2011-Feb February/005628.html
Было бы лучше масштабироваться