X-Accel-Redirect для mp4 предоставляет неподдерживаемый тип видео только в Internet Explorer для Windows 7

Я пытаюсь подать MP4 в HTML5 video тег с использованием NGINX X-Accel-Redirect заголовок. Вот пример ссылки (второе видео работает, обслуживается напрямую):

https://www.sonoclipshare.com/testfiles/test.htm

Прекрасно работает для mp4s для Chrome / Safari / FF, но выдает ошибку в IE 11 только в Windows 7. Кроме того, я могу использовать X-Accel-Redirect для доставки любого другого файла способом (через xfiles.php ниже) — он отлично работает на Win7 / IE11.

Неподдерживаемый тип видео или неверный путь к файлу.

Видео отлично работает на IE, когда обслуживается напрямую. Я подозреваю, что это что-то особенное в том, как у меня есть мои заголовки. Вот простой HTML:

<video width="800" controls>
<source src="xfiles.php?&file=001.mp4" type="video/mp4">
</video>

А также xfiles.php:

include('../cururl.php');
$murl = curPageURL();
parse_str($murl, $result);
$filename=$result['file'];
$folder=$result['folder'];
$file="/var/www/uploads/" . $folder . "/" . $filename;
$aliasedFile = '/protected/' . $folder .'/' . $filename;
header('Content-Type: ' . mime_content_type($file));
header('Cache-Control: public, must-revalidate');
header('Pragma: no-cache');
header('Content-Length: ' .(string)(filesize($file)) );
header('Content-Disposition: inline; filename="'.$filename.'"');
header('X-Accel-Redirect: ' . $aliasedFile);
exit;

Вот результат бега curl -I в файле

HTTP/1.1 200 OK
Date: Fri, 28 Apr 2017 13:50:47 GMT
Content-Type: video/mp4
Content-Length: 1489903
Connection: keep-alive
Set-Cookie: __cfduid=dae73721e3830a2bde51f3809bb87c47a1493387447; expires=Sat, 28-Apr-18 13:50:47 GMT; path=/; domain=.sonoclipshare.com; HttpOnly
Last-Modified: Fri, 28 Apr 2017 12:18:10 GMT
Set-Cookie: PHPSESSID=r2i6k2qjsrgs94ca8tu7uadb74; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: public, must-revalidate
Content-Disposition: inline; filename="001.mp4"ETag: "59033302-16bbef"Accept-Ranges: bytes
X-Frame-Options: SAMEORIGIN
Server: cloudflare-nginx
CF-RAY: 356a7e1a0af542e8-ATL

А вот и curl -I результат для непосредственно обслуживаемого (рабочего) файла:

HTTP/1.1 200 OK
Date: Fri, 28 Apr 2017 15:34:31 GMT
Content-Type: video/mp4
Content-Length: 1489903
Connection: keep-alive
Set-Cookie: __cfduid=d1a0bcd70223005a0b5275494f71db40f1493393671; expires=Sat, 28-Apr-18 15:34:31 GMT; path=/; domain=.sonoclipshare.com; HttpOnly
Last-Modified: Fri, 28 Apr 2017 13:45:59 GMT
ETag: "59034797-16bbef"Accept-Ranges: bytes
X-Frame-Options: SAMEORIGIN
Server: cloudflare-nginx
CF-RAY: 356b16116cf25e82-TPA

URL Protocol    Method  Result  Type    Received    Taken   Initiator   Wait‎‎  Start‎‎ Request‎‎   Response‎‎  Cache read‎‎    Gap‎‎
/testfiles/xfiles.php?file=002a.mp4&folder=R4mtqwYN3d   HTTPS   GET (Aborted)   text/html   278 B   62 ms       94  31  31  0   0   147

ДЕТАЛИ (ЗАПРОС):

Key Value
Request GET /testfiles/xfiles.php?file=002a.mp4&folder=R4mtqwYN3d HTTP/1.1
User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept  */*
Referer https://www.sonoclipshare.com/testfiles/test.htm
GetContentFeatures.DLNA.ORG 1
Pragma  getIfoFileURI.dlna.org
Accept-Language en-US
Accept-Encoding gzip, deflate
Host    www.sonoclipshare.com
DNT 1
Connection  Keep-Alive
Cookie  __cfduid=dfc9dd3e27defddfbafa2c0a6dbdab2151493386292; _ga=GA1.2.832748637.1493386815

ДЕТАЛИ (РЕАКЦИЯ):

Key Value
Server  nginx/1.11.3
Response    HTTP/1.1 403 Forbidden
Keep-Alive  timeout=20
Date    Tue, 02 May 2017 13:54:25 GMT
Content-Type    text/html
Content-Length  178
Content-Disposition inline; filename=""Connection  keep-alive
Cache-Control   public, must-revalidate

3

Решение

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

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

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

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