問題タブ [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 投票する
0 に答える
229 参照

openresty - Openresty または Lua Web アプリのミドルウェアに相当するものはありますか?

小さな Web アプリの Openresty を学習しています。抽象化レイヤーの Lua Web アプリとフレームワークはありますか? 例: Python/WSGI、Ruby/Rack、Elixir/Plug。

Lua で見つけた最新のものは古くなっているようです: APItools/lua-resty-rack

WSAPIWSAPI-Openrestyもありますが、それを利用したメンテナンスされているミドルウェア/プロジェクトは見つかりませんでした。

Openresty アプリは、ほとんどの実稼働アプリでこのタイプの抽象化レイヤーを使用していませんか? それとも、Openresty アーキテクチャのために必要ないのでしょうか?

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

php - ngx_http_lua_module内でNginx fastcgi_passに渡す方法は?

優れたライブラリhttps://github.com/openresty/lua-nginx-moduleを使用して、Nginx 変数を PHP 7.0 バックエンドに渡す必要があります。

「set」関数のドキュメントには「このディレクティブは、Nginx イベント ループがコード実行中にブロックされるため、短くて高速に実行されるコード ブロックを実行するように設計されているため、content_by_lua_block代わりにを使用することを好みます。したがって、時間のかかるコード シーケンスは避ける必要があります。 set_by_lua_block"。 https://github.com/openresty/lua-nginx-module#set_by_lua

ただし、「content_...」関数はノンブロッキングであるため、次のコードは時間内に返されず、PHP に渡されるときに $hello が設定解除されます。

問題は、たとえば暗号を使用して、特定のコード パスが使用される場合、私の Lua コードが「時間のかかるコード シーケンス」になる可能性があることです。

次の Nginx の場所は正常に機能しますが、これは set_by_lua_block() がブロッキング関数呼び出しであるためです。

私の質問は、ここで最善のアプローチは何ですか? fastcgi_pass変数が設定された後にのみ、 content_by_lua_block() 内からNginx ディレクティブと関連するディレクティブを呼び出す方法はありますか?

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

lua - lua-resty-auto-ssl: sockproc の開始に失敗しました

==> /etc/openresty/nginx/logs/error.log <== 2016/08/07 02:31:26 [error] 194#0: [lua] start_sockproc.lua:9: auto-ssl: failed to start sockproc, context: init_worker_by_lua*

Nginx インスタンスの起動後に前述のエラーが表示されます.何が原因なのかわかりません..

依存関係が欠落しているように見えますが、それは正しいです。

Docker イメージ リポジトリは次のとおりです。設定方法の詳細が記載されています。

また、sockproc が実際に実行されていることに気付きました。以下の画像を参照してください。

スクリーンショット 2016 年 8 月 8 日 09 38 38

0 投票する
2 に答える
929 参照

nginx - リクエストヘッダーにユーザーエージェントを設定して wurfl に渡す方法

Nginx 用の Wurfl プラグインを使用しようとしています。Vanilla Nginx の代わりに Openresty を使用しています。User-Agent ヘッダーに正しい User-Agent が設定されていません。そのため、リクエストの処理中に User-Agent ヘッダーを自分で設定しようとしています。しかし、Wurfl は、リクエストがサーバーに到達したときにヘッダーの一部として存在する User-Agent を既に解決しているように感じます。コードを使用して User-Agent 値を設定し、新しく設定されたヘッダーでデバイスの機能を解決する方法はありますか。

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

lua - OpenResty 内での読み込み時に `popen` が nil を返す

torch からパッケージをインクルードするときに、このマニフェスト自体を見てきました。最も単純な例は、「sys」パッケージのものです。何らかの理由で: https://github.com/torch/sys/blob/master/init.lua#L37-L40は、例外を引き起こす OpenResty を介して起動すると nil を返します。

app.lua

resty app.lua を実行すると、次のようになります。

(sys.execute は、sys.prefix を設定するために呼び出されています)

popen の動作がおかしい理由はわかりませんが、出力が nil の場合は処理する必要があると考えました。このコンテキストで子プロセスが失敗する理由はありますか?

0 投票する
0 に答える
343 参照

mongodb - nginx を介して Lua で resty-mongol を実行するとエラーが発生する

  1. nginx を介して Lua で resty-mongol を実行しようとすると、エラーが発生します。エラーは、「グローバル 'bit' (nil 値) のインデックスを作成しようとしています」です。私の環境は

    https://github.com/openresty/lua-nginx-module/releases/tag/v0.10.6 - nginx 1.10.1 バージョンでビルドします。

エントリ スレッドが中止されました: ランタイム エラー: ...ules/lua-resty-mongol/lib/resty/mongol/object_id.lua:56: グローバル 'ビット' (nil 値) のインデックスを作成しようとしています スタック トレースバック: コルーチン 0: .. .ules/lua-resty-mongol/lib/resty/mongol/object_id.lua:56: メイン チャンク内 [C]: 関数 'require' 内 ...e/modules/lua-resty-mongol/lib/resty/ mongol/bson.lua:25: メイン チャンク内 [C]: 関数 'require' 内 .../modules/lua-resty-mongol/lib/resty/mongol/colmt.lua:20: メイン チャンク内 [C] : 関数 'require' 内 ...e/modules/lua-resty-mongol/lib/resty/mongol/dbmt.lua:9: メイン チャンク内 [C]: 関数 'require' 内 ここにコードを入力 ...e /modules/lua-resty-mongol/lib/resty/mongol/init.lua:14: メイン チャンク内。

  1. そして、再起動後、私は電話に出ています

mongo:new() [string "mongo:new()"]:1: メソッド 'new' (nil 値) の呼び出しを試みます

このエラーが突然発生し始めましたが、今では毎回失敗します。失敗は、コード行内のロード モジュール行にあります require "resty.mongol"。何が間違っている可能性があります。誰もまだ直面していませんか?