У меня есть один Nginx сервер, который имеет несколько файлов конфигурации для разных доменов в папке «sites-enabled». Все папки, которые связаны с доменом, находятся в папке сервера HTML. Мне нужна одна папка, которая будет содержать текстовый файл и те файлы, которые я могу загрузить в любой файл папки домена, используя метод $ .get (). Я хочу обеспечить прямой доступ к данным через браузер, но к нему можно обратиться с помощью запроса get, чтобы предотвратить прямой доступ. Домены могут создаваться динамически несколько раз, поэтому код должен быть в конфигурации по умолчанию, чтобы он мог применяться ко всему домену автоматически
Например, - мой IP-адрес сервера равен «192.168.2.1» - в «включенных сайтах» I есть 3 файла 1) по умолчанию 2) xyz.com.conf 3) ab c .com.conf - у меня есть папка HTML и в этой папке 2 домена xyz и ab c. Я создал еще одну root папку «content» и создал файл «data.txt», который содержит защищенные данные и загрузку в файл обоих доменов с помощью метода $ .get () «http://192.168.2.1/content/data.txt "- Теперь я хочу добавить правило в файл конфигурации, чтобы оно могло запретить прямой доступ из браузера, но разрешить доступ из обеих папок
Я пробовал с приведенным ниже кодом, но он не будет работать так как он разрешает доступ, если пытался получить доступ через ip, но если я пытался получить доступ через домен xyz.com или ab c .com, то выдает ошибку 403.
location ~* content/ {
valid_referers 192.168.2.1;
if ($invalid_referer) {
return 403;
}
}
Может кто-нибудь помочь с правило, чтобы я мог добиться с одним изменением в файле конфигурации по умолчанию? Или любое другое решение для достижения этой цели?