Здравствуйте, представим что вам поступила задача
Сделать так чтобы из папки
/www/testing.com/shared/
можно было скачивать mp4 файлы по прямой ссылке
https://testing.com/shared/video.mp4
Веб-сервер который использует домен NGINX
Сначала необходимо установить права доступа на директорию /www/testing.com/shared/
chmod 755 /www/testing.com/shared/
Далее, находим файл конфигурации для домена testing.com и редактируем его
vi /etc/nginx/vhost/testing.com.conf
*Нахождение конфигурационных файлов vhost может различаться
Изучаем файлы конфигурации и если нет уже созданных блоков для location /shared/ ,то добавляем в конфигурацию новый блок
location /shared/ {
alias /www/testing/shared/;
autoindex off;
location ~ /*/(.*\.mp4)$ {
add_header Content-Disposition "attachment";
add_header Content-type application/octet-stream;}
}
alias /www/testing/shared/ - указываем на пути на сервере
autoindex off - запрещаем вывод листинга каталога /shared/, если установить значение on, то по ссылке https://testing.com/shared/ были бы видны все файлы в каталоге /www/testing.com/shared/ и была бы возможность их скачать.
location ~ /*/(.*\.mp4)$ - указываем на все файлы .mp4, здесь вы можете изменить или добавить любой тип файл, к примеру
location ~ /*/(.*\. mp4 | mp3 | avi | png )$
add_header Content-Disposition "attachment" - устанавливается для того чтобы видео не проигрывалось в браузере, а принудительно скачивалось
add_header Content-type application/octet-stream - определяет тип контента
Сохраняем файл, и теперь нам необходимо чтобы NGINX применил новую конфигурацию, выполняем
nginx -s reload
Если ошибки не найдены, конфигурация применится
Чтобы наверняка применились конфигурации, применяется команды полного перезапуска сервисов, но лучше их применять после nginx -s reload, так как по этой команде ещё и проверяется синтаксис
service nginx restart
или
systemctl restart nginx
Надеюсь эта статья вам поможет!