목차
✅ 가장 기본적인 구성 : TCP 전이 프록시
? TLS 트래픽 패스 스루 (종료되지 않음 SSL)
? UDP 프록시 예제 (예 : DNS)
? 일반적인 실제 구성 항목
⚠️ notes
운영 및 유지보수 엔진스 Nginx 스트림 프록시 기본

Nginx 스트림 프록시 기본

Jul 26, 2025 am 02:57 AM

Nginx 스트림 모듈은 4 층 프록시에 사용됩니다. 1. TCP 전이 프록시 MySQL은 업스트림을 표시하고 proxy_pass를 표시하도록 구성되어야합니다. 2. TLS 통과 통과는 SSL을 종료하지 않으며 엔드 투 엔드 암호화를 유지합니다. 3. UDP 프록시 + UDP 키워드는 DNS 및 기타 시나리오에 적합합니다. 4. 일반적인 옵션은 proxy_timeout, so_keepalive 및 access_log; 5. 스트림은 최상위 레벨에 위치하고 HTTP 모듈 포트에서 분리되어야합니다.

Nginx 스트림 프록시 기본

NGINX의 스트림 모듈은 TCP 및 UDP 트래픽 (레이어 4 프록시)을 처리하는 데 사용되며 HTTP 모듈과 같은 레이어 7 개의 응용 레이어 프로토콜 (예 : HTTP/HTTPS)을 처리하지 않습니다. 프록시 데이터베이스, 메일 서비스, SSH, Redis, MySQL 또는 TLS 통과 통과 트래픽이 필요한 경우 스트림은 더 가볍고 효율적인 솔루션입니다.

Nginx 스트림 프록시 기본

✅ 가장 기본적인 구성 : TCP 전이 프록시

MySQL 요청을 외부 Access server_ip:3306 에서 인트라넷으로 전달한다고 가정하십시오 192.168.1.100:3306 :

 개울 {
    업스트림 mysql_backend {
        서버 192.168.1.100:3306 MAX_FAILS = 2 FAIL_TIMEOUT = 10S;
    }

    서버 {
        듣기 3306;
        proxy_pass mysql_backend;
    }
}
  • listen 3306 : 기계의 3306 포트를 들으십시오 (특정 IP에 바인딩하기 위해 bind=your_ip 추가 할 수 있습니다).
  • proxy_pass : 콘텐츠 구문 분석없이 직접 트래픽을 전달합니다
  • upstream 로드 밸런싱 및 건강 검사를 지원합니다 ( health_check 가용성이 높음)

? TLS 트래픽 패스 스루 (종료되지 않음 SSL)

백엔드 MySQL이 SSL을 활성화 한 경우 Nginx에서 해독하는 것을 원하지 않습니다 (엔드 투 엔드 암호화 유지) :

Nginx 스트림 프록시 기본
 서버 {
    듣기 3306;
    proxy_pass mysql_backend;
    proxy_timeout 3s;
    proxy_responses 1; # 선택 사항 : 연결을 설정하기 전에 첫 번째 응답 패킷을 기다립니다 (느린 연결 공격 방지)
}

이 방법을 TLS Passthrough라고합니다. NGINX는 암호화 된 데이터를 터치하지 않지만 바이트 스트림 전달만을 담당합니다.


? UDP 프록시 예제 (예 : DNS)

 개울 {
    업스트림 dns_backend {
        서버 8.8.8.8:53;
    }

    서버 {
        53 UDP를 들어보십시오.
        proxy_pass dns_backend;
        proxy_timeout 5s;
    }
}
  • UDP 프로토콜을 나타내려면 udp 키워드를 추가하십시오
  • DNS, VoIP 및 게임 서버와 같은 UDP 시나리오에 적합합니다.

? 일반적인 실제 구성 항목

지침 설명
proxy_timeout 클라이언트/백엔드에 데이터 전송이없는 시간 초과 시간
proxy_responses 연결이 성공하기 전에 백엔드가 응답하기를 기다리는 패킷 수 (anti-syn 홍수)
so_keepalive 긴 연결을 유지하려면 TCP Keepalive를 켜십시오
access_log /path/to/stream.log 녹음 연결 로그 (형식은 HTTP 로그와 다릅니다)

예를 들어 연결 로그를 활성화합니다.

Nginx 스트림 프록시 기본
 서버 {
    듣기 3306;
    proxy_pass mysql_backend;
    access_log /var/log/nginx/stream_mysql.log;
}

⚠️ notes

  • 스트림은 nginx.conf 의 최상위 stream { } 블록으로 작성해야하며 http { } 에 배치 할 수 없습니다.
  • HTTP를 사용하고 동시에 스트림을 사용하는 경우 다른 포트 (또는 다른 IP)를 듣도록하십시오.
  • 애플리케이션 계층 프로토콜은 기본적으로 해결되지 않으므로 경로 라우팅 및 헤더 수정과 같은 7 층 작업을 수행 할 수 없습니다.

기본적으로 그게 다야. 스트림 프록시는 복잡하지 않지만 세부 사항을 무시하기 쉽습니다 (예 : 로그 위치 및 UDP 작성). 위의 예제를 마스터하면 대부분의 4 계층 프록시 요구 사항을 해결할 수 있습니다.

위 내용은 Nginx 스트림 프록시 기본의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

PHP 튜토리얼
1596
276
nginx 타임 아웃 구성 nginx 타임 아웃 구성 Aug 03, 2025 pm 04:25 PM

빠른 고장을 보장하기 위해 proxy_connect_timeout을 5-10 초로 설정하십시오. 2. 느린 업로드에 적응하려면 proxy_send_timeout을 10-30 초로 설정하십시오. 3. Proxy_Read_Timeout은 504 개의 오류를 피하기 위해 응용 프로그램의 최대 응답 시간과 일치합니다. 4.로드 균형이 균형이 잡히면 재시도 시간을 제한하도록 proxy_next_upstream_timeout을 설정하십시오. 이러한 값을 올바르게 구성하면 게이트웨이 시간 초과를 크게 줄이고 사용자 경험을 향상 시키며 실제 로그 및 모니터링과 함께 지속적으로 조정할 수 있습니다.

Server_name 지시문은 무엇을합니까? Server_name 지시문은 무엇을합니까? Aug 02, 2025 pm 04:49 PM

nginx의 Server_name 지시문은 클라이언트가 보낸 호스트 헤더를 기반으로 요청을 처리하기 위해 가상 호스트를 선택하는 데 사용됩니다. 구체적으로 : 1. Server_Name은 정확한 일치, 와일드 카드 또는 일반 표현식을 통해 호스트 헤더와 일치하여 사용할 서버 블록을 결정합니다. 2. 일치하지 않으면 기본 서버 블록으로 돌아갑니다. 일반적으로 첫 번째 또는 명시 적으로 기본 _server로 표시됩니다. 3. Server_Name의 올바른 구성은 컨텐츠 복제를 피하고 SEO를 개선하며 성능 향상에 도움이됩니다. 4. 복잡한 일치와 와일드 카드는 명확성과 효율성을 유지하기 위해주의해서 사용해야합니다. 따라서 Server_Name을 합리적으로 설정하면 트래픽이 올바르게 라우팅되고 서버 치수를 단순화 할 수 있습니다.

Nginx URL은 다시 작성 및 리디렉션됩니다 Nginx URL은 다시 작성 및 리디렉션됩니다 Aug 01, 2025 am 03:48 AM

리디렉션 (301/302) Changebrowserurlandareseo- 친근한 형식의 친환경 형식;

node.js 응용 프로그램의 nginx node.js 응용 프로그램의 nginx Aug 01, 2025 am 04:13 AM

nginxactsasareverseproxy, hidinginternalportsandallowingmultipleappsononeserver; 2. whyndlesssl/tlsterminationefficientlyVialet'sencrypt, offloadingEncryptionfromnode; 3. itservesstaticfileSfasterThannodeBydiGrectlyManagingRoutes like/; 4.ITEBLESLOLOA

Kubernetes 용 Nginx Ingress 컨트롤러 Kubernetes 용 Nginx Ingress 컨트롤러 Aug 02, 2025 am 09:21 AM

nginxingresscontroller는 kubernetes의 핵심 구성 요소로 HTTP/HTTPS 라우팅,로드 밸런싱, SSL 종료, 다시 작성 및 스트림 제한을 구현합니다. 1. 호스트 이름 또는 경로에 따라 해당 서비스에 요청을 전달할 수 있습니다. 2. HTTP를 구현하기 위해 비밀을 통해 TLS/SSL의 구성을 지원합니다. 3. 구성 및 주석을 사용하여 재 작성 및 스트림 제한과 같은 유연한 구성을 제공합니다. 4. 권장 헬름 또는 공식 Yaml 배치; 5. PathType 매칭 규칙, 백엔드 서비스 건강 상태, 글로벌 구성 및 로그 모니터링에주의하십시오. 생산 환경에서 안정적이고 안정적인 트래픽 입력 솔루션입니다.

NGINX 설치 안내서 NGINX 설치 안내서 Jul 31, 2025 am 08:50 AM

Ubuntu/Debian에 nginx를 설치하려면 패키지 목록 (sudoaptupdate), nginx (sudoaptinstallnginx-y) 설치, 서비스 시작 및 활성화 (sudosystemctlstart/enablenginx); 2. Centos/Rhel에서 Epel 소스 (Sudodnfinstallepel release-Y), Nginx 설치, 서비스 시작 및 방화벽 HTTP/HTTPS 포트 (FireWall-CMD 명령) 개방을 활성화해야합니다. 3. 설치 후 구성 구문 (SudongInx-T)을 확인하고 기본 사이트 디렉토리를 확인해야합니다.

SystemD로 nginx 관리 SystemD로 nginx 관리 Aug 01, 2025 am 07:15 AM

SystemCtlStatusNginx를 사용하여 NGINX 서비스 상태를 확인하여 실행 중인지 및 전원 켜기를 확인하십시오. 2. 시작, 중지, 재시작, 재 장전, 활성화 및 비활성화와 같은 핵심 명령을 마스터하고 연결 방해를 피하기 위해 Reload를 사용하는 데 우선 순위를 부여합니다. 3. JournalCtl -unginx.service를 사용하여 로그를 보면 -F 매개 변수를 실시간으로 모니터링하여 시작 시동 실패를 용이하게 할 수 있습니다. 4. 재 장전 실패를 방지하기 위해 구성을 수정하기 전에 SudongInx-T Test 구문을 실행하십시오. 5. 구성을 사용자 정의 해야하는 경우 sudosystemctleditnginx를 사용하여 Direct 대신 보안 덮어 쓰기 파일을 만듭니다.

nginx의 동적 모듈 nginx의 동적 모듈 Aug 03, 2025 am 12:49 AM

DynamicModules는 1.9.11에서 nginx에 의해 도입 된 기능으로, .so 모듈을 런타임에 적합하지 않고로드 할 수 있습니다. 1. 모듈이 동적 컴파일 (예 : add-dynamic-module)을 지원하는지 확인합니다. 2. nginx.conf 상단에있는 load_module 명령어가있는 .so 파일을로드하십시오. 3. 구성을 확인하고 재 장전이 적용됩니다. 장점은 핫 스와핑, 쉬운 업그레이드 및 컨테이너화입니다. 버전 매칭, 올바른 경로, 핫 제거 할 수없는 능력 및 타사 모듈 보안 문제에주의하십시오.

See all articles