nginx が TCP/UDP セッションを処理する方法
クライアントからの TCP/UDP セッションは、段階と呼ばれる一連の手順で処理されます。
-
Accept 後 - クライアント接続の受け入れ後の最初の段階。この段階では、ngx_stream_realip_module モジュールが呼び出されます。
-
アクセス前 - アクセスの事前チェック。この段階では、ngx_stream_limit_conn_module モジュールと ngx_stream_set_module モジュールが呼び出されます。
-
アクセス - 実際のデータ処理前のクライアントアクセスの制限。この段階では、ngx_stream_access_module モジュールが呼び出されます。njs の場合、js_access ディレクティブが呼び出されます。
-
SSL - TLS/SSL 終了。この段階では、ngx_stream_ssl_module モジュールが呼び出されます。
-
事前読み取り - データを 事前読み取りバッファ に読み込み、ngx_stream_ssl_preread_module などのモジュールが処理前にデータを分析できるようにします。njs の場合、js_preread ディレクティブがこの段階で呼び出されます。
-
コンテンツ - データが実際に処理される必須の段階で、通常はプロキシで アップストリーム サーバーに渡されるか、指定された値がクライアントに返却されます。njs の場合、js_filter ディレクティブがこの段階で呼び出されます。
-
ログ - クライアントセッション処理の結果が記録される最終段階。この段階では、ngx_stream_log_module モジュールが呼び出されます。