fichier mp4 en streaming avec php via “X-Accel-Redirect” de nginx ne fonctionne pas sur Android

Le problème est assez simple. J’essaie de diffuser un fichier avec php via l’en-tête “X-Accel-Redirect” de nginx, car cela coûte moins cher de laisser nginx gérer tout que le streaming avec php.

J’utilise Chrome sur PC et Android pour tester.

Supposons que j’ai un fichier dans le répertoire racine public: example.com/video.mp4 Cela fonctionne très bien, à la fois sur PC et Android.

Cependant, si j’essaie de diffuser un fichier avec l’en-tête “X-Accel-Redirect” (supposez qu’il soit privé et qu’il ne puisse pas se trouver dans le répertoire public), utilisez ce code:

 header('Content-Type: video/mp4'); header('X-Accel-Redirect: /path/to/protected/directory/video.mp4'); 

Cela fonctionne sur PC, mais pas sur Android. Les en-têtes de requêtes semblent identiques et je ne sais honnêtement pas quoi chercher.

J’ai aussi vérifié les en-têtes sur les deux appareils, ils semblent être identiques.