【发布时间】:2016-08-03 06:34:53
【问题描述】:
我目前正在使用 phoenix 开发一个网站,并且有一个应该在后台播放的视频部分。
虽然它在 Chrome 和 Firefox 上运行良好,但在 Safari 上却无法运行。
我怀疑这是因为牛仔没有正确处理 HTTP 范围请求。
有没有办法启用(如果默认禁用)?
$ curl -H Range:bytes=16- -I http://localhost:4000/videos/vid_home_1.mp4
HTTP/1.1 200 OK
server: Cowboy
date: Tue, 12 Apr 2016 14:41:20 GMT
content-length: 633787
cache-control: public
etag: 480A03F
content-type: video/mp4
当它应该是 206 时,如 nginx 服务器所示:
$ curl -H Range:bytes=16- -I http://localhost/videos/vid_home_1.mp4
HTTP/1.1 206 Partial Content
Server: nginx/1.8.0
Date: Tue, 12 Apr 2016 14:46:17 GMT
Content-Type: video/mp4
Content-Length: 633771
Last-Modified: Mon, 11 Apr 2016 12:26:26 GMT
Connection: keep-alive
ETag: "570b97f2-9abbb"
Content-Range: bytes 16-633786/633787
【问题讨论】:
-
为什么要通过牛仔来提供静态内容?
-
@ardhitama :嗯,主要是因为它是使用 phoenix 的,而且我仍处于早期开发阶段……而且,据我所知,cowboy 提供的静态内容非常好。但是,如果我不能提供范围请求,我可能会通过 nginx 和反向代理到我的凤凰服务器,但我更愿意解决这个问题。
标签: elixir phoenix-framework cowboy