I am having the opposite problem as above. For my use case the behavior described above would have been the correct behavior, but I am seeing instead the opposite. My scenario:
Roku makes manifest request (this is set as the content's URL. StreamStickyHttpRedirects is set to [false].
GET
http://server1/contents/1/master.m3u8 -> 302 Location:
http://server2/contents/1/master.m3u8GET http://server2/contents/1/master.m3u8 -> 200 Body
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=826103,RESOLUTION=858x480,CODECS="avc1.4d401e,mp4a.40.2"
index-f1-v1-a1.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1346519,RESOLUTION=1280x720,CODECS="avc1.4d401f,mp4a.40.2"
index-f2-v1-a1.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2202041,RESOLUTION=1920x1080,CODECS="avc1.4d4028,mp4a.40.2"
index-f3-v1-a1.m3u8
Roku makes request for bitrate-level index directly to redirected server rather than back to the original server as I would have expected given my stick redirects setting of false:
GET
http://server2/contents/1/index-f1-v1-a1.m3u8In this case server1 acts as a router, and each request needs to go there and be redirected. Is there a way to accomplish this behavior short of using absolute URLs including the server in the m3u8 file?