Я использую лак для ускорения работы своего веб-сайта, но я заметил, потому что технически это обратный прокси, все IP-адреса отображаются как 127.0.0.1 - я исправил это, используя HTTP_X_FORWARDED_FOR
, но это только исправление программ php, таких как мои форумы. Я прочитал здесь похожие вопросы, когда у людей возникают проблемы с попыткой "запретить от" в htaccess, и это не работает из-за лака.
Многие решения после моего исследования показывают, что блокировка IP-адресов на уровне лака - это выход, и, к сожалению, это тоже не работает. Я пробовал apache mod_rpaf, чтобы попытаться заблокировать IP на уровне htaccess, но это тоже ничего не дало.
Вот мой код лака в попытке заблокировать пример IP:
sub vcl_recv {
if (client.ip ~ blacklist) {
return (synth(403));
}
}
А теперь черный список acl
acl blacklist {
"1.1.1.1";
}
При такой настройке 1.1.1.1 все еще может получить доступ к веб-сайту и не попадает на мою страницу 403. Чтобы уточнить, я использую лак 4, поэтому "ошибка 403" больше не совместима, поэтому вам нужно использовать return
.
Я что-то делаю не так? Кто-нибудь еще был в такой же ситуации, когда им нужно было заблокировать IP на уровне лака? Какие-либо предложения?
Заранее спасибо.
Для справки, Вот это документация ACL для Varnish 4.0.
Это не имеет значения, но пробовали ли вы явно указать сетевую маску?
acl blacklist {
"1.1.1.1"/32;
}
Находится ли лак на самом переднем уровне вашей стопки? Если вы посмотрите запросы с varnishlog
, IP-адреса, которые вы видите, соответствуют вашим ожиданиям?