以下は、Nginx でアップロードされたファイルのすべてのキャッシュ ソリューションのテキスト説明による詳細な説明です。
アプリケーションサーバー (Jetty) はアップロード時に進行状況バーを実装するためです。キャッシュされました。進捗状況を読み取る方法はありません。さらに、Nginx でファイルをキャッシュすると、転送効率も低下します。
nginx は 1.5.6 を使用します。
バックエンドは、アップロードされたファイルを受け入れるために、nodejs を使用します。この問題への対応は、使用されるバックエンドの種類とは関係ありません。ここでは単なる説明を示します。
質問:
フロントエンド ページにファイルをアップロードします。nginx は受信した各ファイル データ ブロックをバックエンドに転送しませんが、すべての収集が完了した後、それらを部分的にバックエンドに転送します。明らかにアップロード時間が大幅に延長されました。
問題に関係するモジュール: ngx_http_core_module
対応メソッド:
nginx バージョンを 1.7.11 以降にアップグレードします。
ディレクティブを追加: proxy_request_buffering off
手順は次のとおりです:
参考:
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering
nginx を再起動すると、問題は解決します。
この解決策は、Nginx によってアップロードされたすべてのファイルをキャッシュする問題を解決します。この解決策はこの記事にあるものだけではなく、他の解決策もありますので、皆さんもぜひ共有してください。