Как заблокировать доступ к файлам/папкам по ip-адресу?

Как запретить доступ к файлам:
/admin.php и /admin2.php
а также к содержимому папок:
/admin/, /data/ и /uploads/

для всех ip-адресов, кроме локальной сети 192.168.1.0/24 и внешнего ip 11.22.33.44

------------------
Думал решить так, но не работает:
geo $remote_addr $allowed_trafic {
                default false;
                192.168.1.0/24 true;
                11.22.33.44 true;
}
server {
   if ($request_uri ~* "(/admin/|/(admin|admin2).php|/data/|/uploads/)" && $allowed_trafic = "false") {
        return 444;
   }

}
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
@dodo512
geo $remote_addr $allowed_trafic {
                default false;
                192.168.1.0/24 true;
                11.22.33.44 true;
}

map "$allowed_trafic$request_uri" $var {
default 0;
~^false/(admin|admin2)\.php     1;
~^false/(admin|data|uploads)/   1;
}

server {
    if ($var) {
        return 444;
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы