proxy_passディレクティブを使用してファイルをアップロードするために、node.jsアプリケーションへのリバースプロキシとしてnginxを構成しました。それは機能しますが、私の問題は、nginxがファイル本体全体がアップロードされるのを待ってからアップストリームに渡すことです。アプリケーションでアップロードの進行状況を追跡したいので、これは私にとって問題を引き起こします。ファイル本体をリアルタイムでアップストリームにストリーミングするためにnginxを構成する方法はありますか?
質問する
31020 次
3 に答える
40
(少なくとも現時点では) 方法はありません。nginx がアップストリームへの送信を開始する前に、完全なリクエストは常にバッファリングされます。アップロードされたファイルを追跡するには、アップロード進行状況モジュールを試すことができます。
更新: nginx 1.7.11 では、proxy_request_bufferingディレクティブが利用可能になり、リクエスト本文のバッファリングを無効にすることができます。ただし、注意して使用する必要があります。ドキュメントを参照してください。
于 2012-09-07T00:10:19.000 に答える
5
Tengine (nginx からのフォーク) は、proxy_request_buffering をオフに設定することで、バッファなしのアップロードをサポートします。
http://tengine.taobao.org/document/http_core.html
更新: nginx 1.7.11 では、上記の@Maxim Douninのように、 proxy_request_bufferingディレクティブが利用可能です。
于 2014-07-11T09:12:23.783 に答える
-3
私はそれを疑う:
proxy_buffering off;
必要なものです。http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_bufferingを参照してください
于 2012-09-05T13:39:11.600 に答える