>운영 및 유지보수 >엔진스 >Nginx TCP/UDP 프록시 구성을 구현하는 방법

Nginx TCP/UDP 프록시 구성을 구현하는 방법

王林
王林원래의
2023-11-08 15:14:072252검색

Nginx TCP/UDP 프록시 구성을 구현하는 방법

Nginx는 HTTP/HTTPS 프로토콜 요청을 처리할 수 있을 뿐만 아니라 TCP/UDP 프록시를 통해 다른 프로토콜을 전달할 수도 있는 강력한 웹 서버 소프트웨어입니다.

아래에서는 Nginx를 통해 TCP/UDP 프록시 구성을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

  1. TCP 프록시 구성

먼저 Nginx 구성 파일에 다음 코드를 추가합니다.

stream {
    server {
        listen        80;
        proxy_pass    backend:8080;
    }
}

이 구성은 포트 80에 대한 모든 TCP 요청을 백엔드 호스트의 포트 8080으로 전달합니다. 백엔드는 IP 주소일 수도 있고 Nginx 구성 파일에 있는 다른 서버의 이름일 수도 있다는 점에 유의해야 합니다.

또한 Nginx가 TCP 요청을 수신하려면 Nginx를 시작하는 명령에 -g 'daemon off;' 옵션을 추가해야 합니다. 전체 시작 명령은 다음과 같습니다:

nginx -g 'daemon off;'
  1. UDP 프록시 구성

UDP 프록시의 경우 Nginx는 타사 모듈인 Stream Module을 사용해야 합니다. Nginx를 컴파일할 때 --with-stream 옵션을 추가하고 Nginx 구성 파일에 다음 코드를 추가해야 합니다.

stream {
    server {
        listen          53 udp;
        proxy_pass      backend:53;
        proxy_timeout   1s;
        proxy_responses 1;
    }
}

이 구성은 모든 UDP 포트 53 요청을 백엔드 호스트의 포트 53으로 전달하는 동시에 동시에 제한 시간을 1초로 설정하고 최대 하나의 응답 결과를 반환합니다.

위 구성에서 백엔드는 IP 주소일 수도 있고 Nginx 구성 파일에 있는 다른 서버의 이름일 수도 있다는 점에 유의해야 합니다.

  1. 전체 예

마지막으로 완전한 TCP 및 UDP 프록시 구성 예를 제공하며 코드는 다음과 같습니다.

events {}

http {}

stream {
    server {
        listen        80;
        proxy_pass    backend:8080;
    }

    server {
        listen          53 udp;
        proxy_pass      backend:53;
        proxy_timeout   1s;
        proxy_responses 1;
    }
}

위 예의 백엔드는 IP 주소 또는 Nginx 구성일 수 있다는 점에 유의해야 합니다. file 에 있는 다른 서버의 이름입니다.

요약

위 예제 코드를 통해 Nginx에서 TCP/UDP 프록시 구성을 구현하는 방법을 배웠습니다. 관련된 핵심 사항에는 Stream Module 모듈 사용, Listen 및 Proxy_pass와 같은 키워드 추가 등이 포함됩니다. 이 기사가 모든 사람이 Nginx 프록시 구성을 구현하는 데 도움이 되기를 바랍니다!

위 내용은 Nginx TCP/UDP 프록시 구성을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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