2017-02-13 9 views
0

私は、サーバーリターンレスポンスで、要求を他のサーバーに送信しますが、openrestyはbody_filter_by_lua *のコンテキストでAPIを無効にしていると言います。私はresty.httpモジュールを使用します。 ありがとうopenresty on body_filter_by_luaソケットを送信

答えて

0

メインロジックを変更することができます。成功時に

あなたの上流(location.captureまたはLUA-resty-HTTP)への最初の問題のサブリクエスト

あなたが最初のLuaのコードによって下流応答を送信し、Luaのからあなたの「他のサーバー」の隣にサブリクエストを発行することができます。

更新 - これは動作しません 2番目の方法として、「他のサーバー」を上流として扱い、元のサーバーへのサブリクエストが成功した場合にのみこの上流へのリクエストを許可することができます。

どちらのシナリオでも、cosocket APIが利用できるaccess_by_lua *およびcontent_by_lua *を使用できます。

+0

in access_by_lua *は、応答ステータスを取得できません。content_by_lua_ *では、htmlをユーザーに返す方法はありません。 1:ユーザ - >サーバ2:サーバ - >現在のリクエストを送る - >他のサーバ3:サーバ - >現在のレスポンスを送る - >他のサーバ4:現在のレスポンスをユーザに返す。サーバー返品 –

+0

私はあなたの質問を理解していません。 * –

+0

https://github.com/openresty/lua-nginx-module#ngxlocationcaptureには、ステータスが –