NGINX 是否可以指示透過 HTTP 提供正在建立的檔案?

NGINX 是否可以指示透過 HTTP 提供正在建立的檔案?

我使用 NGINX 作為系統中的一個元件,它接受從客戶端串流傳輸的內容(比方說,透過 RTMP)並將其傳遞給某些內部服務進行處理。內部服務透過 HTTP 從 NGINX 取得內容。

但我不想等到客戶端完全傳輸所有內容後再開始處理,因此我希望內部服務在第一個位元組可用時立即開始獲取內容 - 問題是,如果客戶端流的速度比內部服務從NGINX 拉取的速度慢(情況總是如此),NGINX 到達文件的當前末尾並停止提供內容。

有沒有辦法讓 NGINX 開始提供最終大小未知的檔案(顯然使用 Transfer-Encoding: chunked),並且在發送所有(尚未提供的)資料之前不終止連線?

我嘗試過提供 FIFO 的內容,但 NGINX 只是忽略返回 404 Not Found 的 FIFO。我還查看了 NGINX HLS 模組,但這似乎要求檔案採用 MPEG-4 格式,這不適用於我的用例。

相關內容