nginx에서 TCP/UDP 세션을 처리하는 방법

클라이언트의 TCP/UDP 세션은 ‘단계’라는 연속적 단계로 처리됩니다.

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 등의 모듈이 처리 전에 데이터를 분석하도록 합니다.

Content

데이터를 실제로 처리하는 필수 단계, 일반적으로 upstream 서버로 프록시되거나 지정된 값을 클라이언트에 반환합니다.

Log

클라이언트 세션 처리 결과를 기록하는 마지막 단계. 이 단계에서 ngx_stream_log_module 모듈을 호출합니다.