2016-10-31 7 views
3

私は、multipart/form-dataファイルのアップロードが突然停止したKoaアプリケーションを持っています。私は今問題を隔離しようとしている8時間以上を費やしました。私が試した/確認したもの:マルチパートファイルのアップロードに関する問題

  • ノード6の問題ではありません。ノード4(以前は動作していたノード)でも同じ問題が発生します。
  • packages.jsonのバージョンの問題を除外しました。すべての関連パッケージと最新バージョンのもともと動作していたバージョンに対してテストしました。
  • 最新のChromeと最新のFirefoxで出展しています。
  • 問題は、ブラウザがを送信しているとまったく同じヘッダをポストマンから直接投稿するとき(ポストマンに設定することができるどちらもCookieRefererを除く)を示しません。
  • Koaラッパーの問題出展koa-better-bodyおよびkoa-multer
  • busboy,formidable、さらにはmultipartyを使用しているときに問題が発生します。
  • 問題と同様に人々はこれを再現しましたmulter issue;すべての提案(ファイルパラメータの前にフィールドパラメータを追加するという長時間のショットを含む)を無駄に試しました。
  • 最小のテストケースを再現しようとしましたが、再生できませんでした。
  • バベルの出力を最小限のテストケースに対して機能的に同じになるまで検査し、問題は引き続きアプリ内に残るが、テストケースでは解決しない。
  • すべてのテストは、同じブラウザで同じサーバーで実行されています。

デバッグするとき、問題の最もきれいなビューは、恐れ入りますが、incoming_form.jsです。単一dataイベントが発生します。そして、

enter image description here

abortイベント:その後

enter image description here

、ブラウザ最終的にタイムアウト。 (このファイルは、最初のdataイベントで受信した15バイトよりも大きいです)

私は、formidablからbusboyに切り替えることで短期間の修正を望んでいました。この問題は、固定されており、私は問題を見る方法が不足しています。私は考えることができるあらゆる方法でそれをスライスしようとしました。思うようにあらゆる方法でデバッグしました。自分のマルチパートパーサーを書いていないので、選択肢が不足しています。

誰もがこの問題を抱えていますか?デバッグを進めたり、最小限のテストケースを作成したりする方法がありますか?

答えて

1

koa-proxyで問題が判明しました。マルチパートPOSTリクエストを正しく転送しません。私はkoa-proxy2に切り替えることで修正しました。私はkoa-proxyプロジェクトに修正を寄せていきます。

関連する問題