Local media does not support Range Requests
Our Nginx sample config was updated about 4 weeks ago to fix support for serving videos to Safari which absolutely requires the server to support Range Requests for serving mp4 video files. To do this we added Slice support to Nginx which cleanly passes through the Range Requests to the backend or in other cases just fills the cache incrementally by using Range Requests itself. This is good for two reasons:
- Fixes Safari support
- The design of Slice is meant for backends that might be slow (media proxy to remote servers, for example) but the files are static/unchanging. This fits our use case perfectly.
Unfortunately there is a side effect of requests to local media being sent to Pleroma/Cowboy, which is not handling the Range Requests and breaks the ability to serve the affected media.
Many people have not noticed this because they haven't changed their Nginx config in a long time and they don't have Safari users or are ignoring the errors reported by those users.
Can we fix this with some changes to our use of Cowboy?