nginx配置關閉chunked


前情提要

后台有個語音流需要傳給前端,注意,不是語音文件。如果是語音文件的話,可以直接使用這個chunked參數,實現視頻或者音頻的分段播放。

現在的問題是我們是拿到的一個音頻流,要傳給前端還必須是keep-alive模式。經過nginx轉發的時候,nginx默認開啟了chunked這個模塊,造成的結果是前端用vedio原生組件接這個音頻流,沒有進度條。

為了實現有進度條,我們需要在響應頭里面包含content-range、content-length這幾個頭,而content-length又和transfer-encoding頭沖突了,所以造成了沒有進度條的問題。

百度+谷歌

找資料如下:

  1. 第一步找資料,看為什么content-length沒有生效,發現是transfer-encoding分段傳輸的問題
    取消掉Transfer-Encoding:chunked
    Nginx與HTTP協議,content-length

  2. 第二部找資料,關閉transfer-encoding或者客戶端請求使用http1.0
    nginx配置關閉chunked

解決方案

一行代碼關閉chunked

chunked_transfer_encoding off;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM