Nginx는 HTTP/HTTPS 프로토콜 요청을 처리할 수 있을 뿐만 아니라 TCP/UDP 프록시를 통해 다른 프로토콜을 전달할 수도 있는 강력한 웹 서버 소프트웨어입니다.
아래에서는 Nginx를 통해 TCP/UDP 프록시 구성을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
먼저 Nginx 구성 파일에 다음 코드를 추가합니다.
stream { server { listen 80; proxy_pass backend:8080; } }
이 구성은 포트 80에 대한 모든 TCP 요청을 백엔드 호스트의 포트 8080으로 전달합니다. 백엔드는 IP 주소일 수도 있고 Nginx 구성 파일에 있는 다른 서버의 이름일 수도 있다는 점에 유의해야 합니다.
또한 Nginx가 TCP 요청을 수신하려면 Nginx를 시작하는 명령에 -g 'daemon off;'
옵션을 추가해야 합니다. 전체 시작 명령은 다음과 같습니다:
nginx -g 'daemon off;'
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 구성 파일에 있는 다른 서버의 이름일 수도 있다는 점에 유의해야 합니다.
마지막으로 완전한 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!