問題タブ [openresty]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
374 参照

lua - openresty の Lua プラグインで uwsgi_pass を達成するにはどうすればよいですか?

特定の場所に一致する受信リクエストに対して、やや複雑なロジックを実行する必要があります。つまり、 に準拠するすべての URL に対してlocation ~* "^/([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})/?$"、次のことを行う必要があります。

  1. 管理者 Cookie が存在するかどうかを確認します。もしそうなら:
    • URL の書き換え ( /<uuid>-> /mod/<uuid>)
    • 実行uwsgi_pass
  2. そうしないと:
    • UUID に一致するエントリについて、postgres でルックアップを実行します。
    • 使用可能なリダイレクト URL のエントリを検索します
    • 選択した URL にクライアントをリダイレクトします

ビットcontent_by_lua_blockを除いて、これはすべて を使用してかなり簡単です。uwsgi_passGoogle は、この取り組みにおいて最も役に立たないことが証明されています...

uwsgi_passで を実行するにはどうすればよいcontent_by_lua_blockですか?

0 投票する
1 に答える
1285 参照

nginx - Nginx - アップストリーム レスポンスへの対応

外部プロバイダーとのファイル ストレージ アップロードのリバース プロキシとして 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 のファイルサイズを処理するとは思いません)

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

0 投票する
1 に答える
926 参照

nginx - openresty インストールで CC コマンドが見つからない

私は Linux にあまり詳しくなく、nginx と nodejs について学び始めたばかりです。私は Windows で作業しているので、次のコマンドを実行して MinGW から openresty をインストールしようとしました。

しかし、次のエラーが表示されます。

インストールする必要がある追加の何かがありますか? GCC が存在し、そのバージョンは 3.4.4 (msys スペシャル)

0 投票する
1 に答える
1819 参照

json - Openresty カスタム json アクセス ログ

リクエストごとに JSON 文字列をアクセス ログに書き込みたいので、後で使用しやすくなります。

Lapis/Openresty によって公開された print() を使用していますが、タイムスタンプ、ログ レベル、および nginx ログ形式の一部であるその他の情報をオーバーライドしたいと考えています。

どうすれば上書きできますか?

0 投票する
1 に答える
189 参照

erlang-otp - Erlang/OTP と OpenResty のアーキテクチャ上の違いは何ですか?

Erlang/OTP で、軽量プロセス、アクター モデル、およびスーパーバイザーが信頼できるサービスを作成する上でいかに重要であるかを読みました。これは OpenResty (マスター/ワーカー、非同期 IO、組み込み Lua) と比べてどうですか?

OpenResty が Erlang/OTP と一緒に (または代わりに) どのように使用されるかをよりよく理解するために、主な概念に関する一般的なアーキテクチャの概要に興味があります。

0 投票する
1 に答える
1431 参照

nginx - rewrite_by_lua_block 応答ヘッダーにパターンが含まれている場合、nginx は 200 を返します

応答にパターン付きのカスタム ヘッダーが含まれている場合にのみ、ある場所で 200 コードを返すように nginx が必要ですrewrite_by_lua_block(Google コンピューティング エンジン バランサーのヘルスチェック用)。

私はluaの初心者なので、どんな助けでも大歓迎です。