try4tune
@try4tune

Cоставить правило для location в nginx?

Добрый день,


Имеется следующая структура папок для основного хоста в nginx (/usr/share/nginx/www/):

install1/
-- app
-- config
-- data
install2/
-- app
-- config
-- data
installN/
-- app
-- config
-- data
other/

Нужно написать правило для nginx, которое будет блокировать доступ в app/, config/ и data/ подпапки каждой папки в верхнем уровне.


Текущее правило такое:
location ~* /app/ { deny all; }

но оно блокирует app папки на любом уровне, а не только на втором.


Как сделать правило верно?
  • Вопрос задан
  • 4205 просмотров
Пригласить эксперта
Ответы на вопрос 2
avalak
@avalak
location ~ ^/install(\d+)/(app|config|data)/ {
    deny all;
}

~ — case sensitive
^ — начало строки
(\d+) — одна или более цифр
(app|config|data) — совпадает с app или config или data

Лучше всего если эти данные вообще не будут доступны (будут вне webroot) тогда их и защищать не придётся.
Ответ написан
Комментировать
BuriK666
@BuriK666 Куратор тега Nginx
Компьютерный псих
location ~* ^/.*/app/ { deny all; }
вроде так
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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