問題タブ [nginx-njs]

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 に答える
416 参照

node.js - ネイティブのnodejsモジュールとwebpackでNginx NJSを使用するには?

njs で「ネイティブ」な nodejs モジュールを使用する方法を説明するガイドhttps://nginx.org/en/docs/njs/node_modules.htmlガイドがあります。

太字の意味がわからなくなるまで、ガイドに従いました。

この例では、生成されたコードは関数
にラップされていないため、明示的に呼び出す必要がないことに注意してください。結果は「dist」ディレクトリにあります。

$ cat dist/wp_out.js code.js > njs_dns_bundle.js

ファイルの最後でコードを呼び出しましょう: <<<--- HERE

var b = set_buffer(global.dns);
console.log(b);

ノードを使用して実行します。

$ node ./njs_dns_bundle_final.js

質問は、webpack で生成された njs_dns_bundle.js を njs_dns_bundle_final.js に含める/要求する/インポートする方法です。これは、ファイルの最後でコードを呼び出しましょう。それがないと、エラーが発生します。

私のコード.js:

私の njs_dns_bundle_final.js:

ノードは正常に動作すると思いますか?!:

NJS は以下を行いません。

ありがとう

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

nginx - nginx - njs - ngx_http_auth_request_module ユーザーに 302 を返す方法は?

njs ngx_http_auth_request_module を使用しています。

私はこのようなjs関数を持っています;

ドキュメントには、「サブリクエストが 2xx レスポンス コードを返す場合、アクセスは許可されます。401 または 403 が返される場合、アクセスは対応するエラー コードで拒否されます。サブリクエストによって返されるその他のレスポンス コードはエラーと見なされます。」http://nginx.org/en/docs/http/ngx_http_auth_request_module.html

subsequest が「else」ブロックに入った場合、ユーザーに 302 を返す必要があります。

これを達成する方法はありますか?r.return(302) を設定すると、ドキュメントにあるようにブラウザーにエラー ページが表示されます。

編集:私のnginx.conf

http://my-specific-url が返されます

  • 200 (jwt Cookie が有効な場合)
  • 302 (戻り場所を含む)、jwt Cookie が無効な場合