]
Jason Holmberg reopened WFLY-6413:
----------------------------------
This still seems to not be working correctly. Please see my comments here:
Also note that there has been a correction in the Step to Reproduce. The previous `curl`
test inadvertently issues a HEAD request. The intent was to issue a GET. The statement
has been corrected to:
{noformat}
$ curl -sD - -o /dev/null --range 0-
{noformat}
This is not a problem, necessarily with enabling the range headers, it really seems to be
an problem with how the requests are handled and what headers are returned.
Range headers do not seem to be handled correctly and prevents video
delivery in Chrome and Safari
--------------------------------------------------------------------------------------------------
Key: WFLY-6413
URL:
https://issues.jboss.org/browse/WFLY-6413
Project: WildFly
Issue Type: Bug
Components: Web (Undertow)
Affects Versions: 10.0.0.Final
Environment: WildFly 10.0.0.Final
Windows 7 or Mac 10.11.3
Java 8
Chrome, Firefox, Safari
Reporter: Jason Holmberg
Assignee: Stuart Douglas
Priority: Critical
Safari on iOS requires range headers to be able to play video content via HTML5. So
enabling range headers in WildFly should make this happen. It does not. Enabling the
range headers actually prevent Chrome from playing the video content, which previously
worked when the range headers were NOT enabled.
After enabling range headers as described here:
https://developer.jboss.org/message/953058#953058
I made some range requests via `curl` to see what is being returned:
This is the result of a request to *WildFly* with the Range headers enabled:
{noformat}
$ curl -I --range 0-
http://localhost:8880/vidtest/vidtest.mp4
HTTP/1.1 200 OK
Connection: keep-alive
Last-Modified: Thu, 17 Mar 2016 19:15:42 GMT
X-Powered-By: Undertow/1
Server: WildFly/10
Content-Type: video/mp4
Content-Length: 8200890
Date: Fri, 18 Mar 2016 16:59:55 GMT
{noformat}
This is the result of a request to the same content being served from Tomcat 8, no
special config required. *All the browsers can play the content when served from Tomcat
8*:
{noformat}
$ curl -I --range 0-
http://localhost:8080/vidtest/vidtest.mp4
HTTP/1.1 206 Partial Content
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"8200890-1458232627000"
Last-Modified: Thu, 17 Mar 2016 16:37:07 GMT
Content-Range: bytes 0-8200889/8200890
Content-Type: video/mp4
Content-Length: 8200890
Date: Fri, 18 Mar 2016 17:00:08 GMT
{noformat}
I have created a small project that I have been using to trouble shoot this issue:
https://github.com/slowtrailrunner/html5-vidtest