nginx X-Accel-Redirect через PHP, ошибка 404

Я пытаюсь подать защищенный файл mp4 с помощью nginx X-Accel через PHP, но у меня проблемы с настройкой, так как я получаю ошибку 404. Вот мой серверный блок nginx.conf:

       server {
listen       80;
server_name  localhost;
root /var/www/example.com;

location / {
try_files $uri /index.php?$args;
}
location /protected {
internal;
alias /var/www/uploads;
}
}

И вот мой файл php:

$aliasedFile = '/protected/' . $filename; //this is the nginx alias of the file path
$realFile = "/var/www/uploads/" . $filename; //this is the physical file path
header('Cache-Control: public, must-revalidate');
header('Pragma: no-cache');
header('Content-Type: video/mp4');
header('Content-Length: ' .(string)(filesize($realFile)) );
header('Content-Transfer-Encoding: binary');
header('X-Accel-Redirect: ' . $aliasedFile);

Я уверен, что только что сделал простую синтаксическую ошибку, но я не вижу ее. Я попытался добавить трейлинг /с местоположением и псевдонимом безрезультатно. Есть какие-нибудь эксперты по nginx?

ОБНОВИТЬ Вот остаток моего блока сервера:

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/example.com;
index index.php index.html index.htm;

server_name server_domain_or_IP;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}

0

Решение

Задача ещё не решена.

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

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

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