Nginxでリバースプロキシを使用しています。NginxにファイルをPOSTすると、ファイル全体がローカルに保存され、ファイル全体を受信した後にバックエンドサーバーに転送されるようです。Nginxがデータを同期的に受信および転送するようにする方法はありますか?</ p>
2 に答える
このSOリンクからすでに否定的な回答があります:nginxファイルはproxy_passでストリーミングをアップロードします
上記の質問の答えは、nginxコードベースを維持している人の1人からのものでした。だからあなたは今のところそれを忘れることができます。
ファイルを2回転送しないことが非常に重要な場合、アップストリームサーバーを制御できる場合は、nginxアップロードモジュールを試すことができます。http://wiki.nginx.org/HttpUploadModule。
あなたはストリーミングを意味します。ええ、あなたはおそらくproxy_buffering、proxy_storeおよび/またはproxy_temp_file_write_sizeで遊びたいでしょう:
http://wiki.nginx.org/HttpProxyModule#proxy_store
http://wiki.nginx.org/HttpProxyModule#proxy_buffering
http://wiki.nginx.org/HttpProxyModule#proxy_temp_file_write_size
補足:nginxはシングルスレッドであるため、実際にその機能を使用する必要があります(そうしないと、1回のアップロードでサーバー全体がかなり長い間ブロックされる可能性があります)。