@Foxwar

Как еализовать доступ к странице сайта с определенных диапазонов Ip через nginx?

Пытаюсь реализовать доступ к странице сайта через nginx с определенных ip адресов
вариант первый через allow deny, почему-то некоторые яваскрипты работают криво, вместо того чтобы исполнить предлагает скачать его.

второй вариант
if ($remote_addr !~ (aaa.bbb.ccc)|(ddd.eee.fff)|(ggg.hhh.iii)) {
return 444;
}

работает только с одиночными ip адресами, можно ли вставить подсеть?

третий вариант через гео, но я не пойму как указать доступ к определенной папке
вот как у меня выглядит
geo $bad_user {
default 0;
171.196.0.0/16 1;
171.198.0.0/16 1;
location 0 {
rewrite ^ www.example.com/123.html;
}
}

Но я так понял таким методом будет идти перенаправление со всего домена, а как сделать допустим только с папки /wp/234/
  • Вопрос задан
  • 312 просмотров
Пригласить эксперта
Ответы на вопрос 1
@acyp
Потихоньку кабанеющий админ
При реализации третьего варианта в конкретном location, определяющем запрещенную страницу поставь условие
server {

location page {
if ($bad_user = 1 ) { return 403;}
#вместо return можно поставить rewrite
}


}

у себя я сделал return с отловом кода возврата, так проще мне кажется в случае необходимости поменять страницу возврата. не лопатя весь конфиг.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы