php nginx X-Accel-Redirect заголовки

у меня проблема с защитой папки со статическими файлами с помощью nginx
так что в основном у меня есть корневая папка на nginx для установки:

/home/rise/rises/wwwdir

и защищенная папка:

/home/rise/rises/videop

как мы видим, я переместил эту папку за пределы корневой папки, чтобы запретить / разрешить просмотр только определенных критериев

Когда я впервые выполнил поиск перед публикацией, я прочитал несколько идей о том, что для доступа к папке videop вне корня мне нужно создать псевдоним в nginx conf, подобный этому, который я сделал
и доступ к внутренним

location /videop {
root /home/rise/rises/;
internal;
}

Однако у меня есть проблема на стороне PHP, чтобы загрузить видео …

$aliasedFile = '/videop/5_.m3u8';
$filename = '5_.m3u8';
header("Content-Description: File Transfer");
header("Content-Type application/x-mpegURL ");
header('Content-Disposition: attachment; filename='.$filename.'');
header('X-Accel-Redirect: '. $aliasedFile);
readfile($aliasedFile);

я что-то упустил?

1

Решение

Ваш root директива имеет запаздывающий / за которым последуют ведущие / URL, поэтому используйте:

location /videop {
root /home/rise/rises;
internal;
}

Ваш PHP имеет плохо сформированный заголовок, который должен включать : после Content-Type,

PHP не должен включать тело. readfile неправильно. Вся цель PHP состоит в том, чтобы выпустить внутренний редирект, который перехватывается nginx, Так что PHP должен вернуться headerтолько с

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]