nginxがTCP/UDPセッションをどのように処理するか
クライアントからのTCP/UDP セッションは phasesと呼ばれる連続するステップの中で処理されます:
-
Post-accept
- クライアントの接続を受け付けた後の最初のステップ。ngx_stream_realip_moduleモジュールはこのフェーズで起動されます。
-
Pre-access
- アクセスのための前準備のチェック。ngx_stream_limit_conn_moduleとngx_stream_set_moduleモジュールはこのフェーズで起動されます。
-
Access
- 実際のデータ処理の前のクライアントのアクセス制限。ngx_stream_access_module モジュールはこのフェーズで起動されます。
-
SSL
- TLS/SSL 終了ngx_stream_ssl_module モジュールはこのフェーズで起動されます。
-
Preread
- ngx_stream_ssl_preread_moduleのようなモジュールが処理する前にデータを解析することができるように、preread bufferに最初のバイトを読み込みます。
-
Content
- データが実際に処理される必須のフェーズ。通常、upstreamサーバにプロキシされる か、クライアントへ 返される 値を指定します。
-
ログ
- クライアントセッションの処理の結果が記録される最終フェーズ。ngx_stream_log_module モジュールはこのフェーズで起動されます。