I've used Apache as a server for the Roku and it works fine. It's not "byte requests" that the server must support, but "range requests". You can use
cURL to make sure your server supports range requests using a command like:
curl -r 4-11 http://192.168.1.103:8080/test.mp4
There's probably something wrong with your encode. It could be the audio. If you wanted to post a link to an example that won't play I'm sure someone will take a look at it.
-JT
Roku Community Streaming Expert
Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.
I am not a Roku employee.