记录下配置nginx 遭遇的问题-mime类型不对被hang

今天在测试业务的时候,发现微信小程序有点问题, 然后自己起了一个nginx 模拟hls拉流的过程。 然后发现 index.m3u8文件总是无法获取下来。 首先确定了一下是 content-type的问题。 因为在同一个location内部有两种不同的 mime类型 后缀为.m3u8的类型是 application/vnd.apple.mpegurl 类型, 然后ts文件的类型是 application/octet-stream 类型。 用openresty更改完成之后, 发现依然会挂起。 想起来在nginx的不同生命周期 阶段处理这个内容才是。要不然被覆盖了,没有改更改。 索性就放在了header过滤阶段。

配置如下。

┊ ┊location / {
103 ┊ ┊ ┊header_filter_by_lua_block { 104 ┊ ┊ ┊ ┊local eax = ngx.header; 105
106 ┊ ┊ ┊ ┊if eax.request_filename ~= nil and string.find(eax.request_filename, ".ts") ~= nil then 107 ┊ ┊ ┊ ┊ eax.content_type = "application/octet-stream" ; 108 ┊ ┊ ┊ ┊else
109 ┊ ┊ ┊ ┊ eax.content_type = "application/vnd.apple.mpegurl"; 110 ┊ ┊ ┊ ┊end
111 ┊ ┊ ┊}
112 ┊ ┊ ┊root html;
113 ┊ ┊ ┊index index.html;
114 }

最近很少玩http的服务,搞websoket推流的服务多一些,不过思维还是有的 ,解决问题用时10分59秒。

转载于:https://my.oschina.net/littlemonkeyc/blog/3019016

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值