1

外部プロバイダーとのファイル ストレージ アップロードのリバース プロキシとして nginx を使用しています。ファイルのアップロードを処理しているとき、ユーザーに応答を返す前に、アップロードが成功したかどうかを (データベースで) 追跡する必要があります。したがってngx.location.capture、lua-nginx-module で提供されているメソッドを使用して、リクエストの結果についてバックエンドと話したいと思います。アップストリーム サーバーの応答を待つ必要があるため、キャプチャは でのみ発行できますheader_filter_by_lua。残念ながら、私は で外部通信を発行できませんheader_filter_by_luangx.location.capture、応答がまだ到着していない場合にのみ使用できますngx.socket.*ngx.exec

nginx で上流の応答にどのように対応できますか?

私が考えた他のアプローチ:

  • スクリプトでアクセス ログを監視してから、curl リクエストを発行します。(もっと簡単な方法があるはずです)
  • 最初に content_by_lua の ngx.location.capture 経由でファイルを送信します (これは最大 5 GB のファイルサイズを処理するとは思いません)

助けていただければ幸いです:)

4

1 に答える 1

0

場所に使用/upload: モジュールcontent_by_lua_file付きresty.upload

于 2016-01-25T17:28:39.570 に答える