Вы можете настроить NGINX, чтобы разрешить доступ к определенному файлу только в том случае, если запрос приходит от определенного домена (site2.com), и запретить прямой доступ. Чтобы сделать это, вам понадобится использовать модуль `ngx_http_referer_module` для проверки заголовка `Referer` в HTTP запросе.
Для начала откройте конфигурационный файл NGINX для сайта (обычно находится в `/etc/nginx/conf.d/` или `/etc/nginx/sites-available/`), и добавьте следующую директиву внутри `server` блока для site1.com:
```nginx
server {
# ... Прочие настройки сервера ...
location /files/ {
# Запретить все запросы, где заголовок Referer не соответствует site2.com
if ($http_referer !~* ^(http://|https://)site2.com) {
return 403;
}
# ... здесь могут быть другие настройки для обработки файлов...
}
# ... Прочие настройки сервера ...
}
```
В этой конфигурации все запросы к `/files/` будут проверяться на то, содержит ли заголовок `Referer` домен `site2.com`. Если нет, доступ будет заблокирован с HTTP статусом 403 Forbidden.
Обратите внимание, что проверка заголовка `Referer` не является надежным средством защиты, поскольку этот заголовок может быть подделан. Также, некоторые пользователи или прокси-серверы могут полностью убирать этот заголовок из запросов.
Если вам нужен более надежный способ контроля доступа, вы можете использовать токены аутентификации, cookies или другой метод, который будет устанавливать и проверять ваш сервер приложений или скрипт, и только после этого предоставляет доступ к файлам.
Не забывайте также перезагрузить NGINX после изменения его конфигурации, чтобы применить изменения:
```bash
sudo nginx -t # проверить конфигурацию на наличие ошибок
sudo systemctl reload nginx # перезагрузить NGINX, если на предыдущем шаге ошибок не было
```
Также стоит помнить, что изменение настроек NGINX должно быть продуманным и осторожным, чтобы не застревать в ошибках конфигурации или не создавать незапланированных брешей в безопасности вашего сервера.