WEB,WAS

[WEB] Nginx 에서 tcp stream 설정 방법

IT-PAPA 2024. 2. 1. 06:08
반응형

Nginx를 사용하여 TCP 연결을 프록시하는 설정은 다음과 같이 할 수 있습니다. 기본적으로 Nginx는 HTTP 프록시를 지원하지만, TCP 프록시를 설정하기 위해서는 stream 블록을 사용해야 합니다.

아래는 예시 설정 파일의 내용입니다. 이 설정은 127.0.0.1:3128로 들어오는 TCP 연결을 127.0.0.2:8080으로 전달합니다.

# /etc/nginx/nginx.conf 또는 /etc/nginx/conf.d/ 내의 적절한 설정 파일에 추가

# stream 블록은 TCP 프록시 설정을 정의합니다.
stream {
    # server 블록은 프록시 서버를 정의합니다.
    server {
        # listen은 클라이언트가 연결할 IP 주소와 포트를 지정합니다.
        listen 127.0.0.1:3128;

        # 프록시할 서버의 주소와 포트를 지정합니다.
        proxy_pass 127.0.0.2:8080;

        # keepalive 옵션을 통해 연결을 재사용할 수 있도록 설정합니다.
        # 연결 유지를 원하지 않으면 이 부분을 생략하거나 off로 설정합니다.
        keepalive 16;

        # 프록시 프로토콜을 설정합니다.
        # TCP 프록시의 경우에는 tcp를 사용합니다.
        proxy_protocol on;

        # 연결이 타임아웃되기 전까지의 시간을 설정합니다.
        proxy_connect_timeout 1s;

        # 프록시 서버와의 응답 타임아웃을 설정합니다.
        proxy_timeout 3s;

        # 프록시 서버에 연결이 실패할 경우 재시도 횟수를 설정합니다.
        proxy_next_upstream error timeout;

        # 연결이 오류 상태일 때 다음 프록시 서버로 전환하는 조건을 설정합니다.
        # default: error non_idempotent;
        proxy_next_upstream_timeout 0;

        # 로깅을 설정합니다.
        access_log /var/log/nginx/stream_access.log;
        error_log /var/log/nginx/stream_error.log;
    }
}
728x90
반응형
LIST