NGINX는 고성능 웹 서버로 명성이 높습니다.
많은 사람들이 NGINX를 역방향 프록시로도 사용할 수 있다는 것을 알고 있지만,
그것이 얼마나 강력한 역방향 프록시인지는 알지 못할 수도 있습니다.
역방향 프록시란 무엇인가요? (Reverse Proxy)
한 걸음 물러나서 프록시 서버란 무엇인지 물어보는 것으로 시작해 봅시다. 위키피디아에 좋은 정의가 있다고 생각합니다.
“ 프록시 서버는 다른 서버에서 리소스를 찾는 클라이언트의 요청에 대한 중개자 역할을 하는 서버(컴퓨터 시스템 또는 애플리케이션)입니다. ”
따라서 프록시 서버는 클라이언트와 클라이언트가 찾는 데이터를 호스팅하는 실제 서버 사이에 위치합니다.
클라이언트에게 프록시 서버는 실제 백엔드 서버로 보이고, 백엔드 서버에 프록시 서버는 클라이언트처럼 보입니다.
역방향 프록시 서버를 정의하려면 위키피디아 로 돌아갑니다 .
“ 역방향 프록시는 클라이언트를 대신하여 하나 이상의 서버에서 리소스를 검색하는 프록시 서버 유형입니다. ”
차이점은 프록시 서버는 클라이언트와 하나의 백엔드 서버 사이에 위치하는 반면,
리버스 프록시 서버는 하나 이상의 백엔드 서버 앞에 위치하여
각 요청에 어떤 백엔드 서버를 사용할지 결정한다는 것입니다.
역방향 프록시를 사용하면 어떤 이점이 있나요?
왜 역방향 프록시 서버를 사용하고 싶습니까? 여러 가지 이점이 있습니다.
- 동시성 - 인터넷 애플리케이션은 종종 많은 수의 클라이언트가 여러 개의 연결을 여는 것을 포함하며, 그 결과 백엔드 서버에 대한 연결이 매우 많아집니다. 많은 웹 서버와 애플리케이션 서버는 많은 수의 연결을 잘 처리하지 못합니다(웹 서버로 사용되는 NGINX는 예외입니다). 따라서 여러 연결을 더 잘 처리할 수 있는 역방향 프록시를 추가하면 백엔드 서버 성능이 현저히 향상될 수 있습니다.
- 복원력 - 클라이언트가 백엔드 서버에 직접 연결하고 있고 장애가 발생하면 현재 서버에 연결된(또는 연결을 시도하는) 모든 클라이언트는 요청이 실패하는 것을 봅니다. 역방향 프록시 서버는 백엔드 서버의 상태를 모니터링하고 장애가 발생한 서버로의 요청을 서비스가 다시 시작될 때까지 전송하지 않을 수 있습니다. 클라이언트는 역방향 프록시가 자동으로 여전히 작동하는 백엔드 서버로 요청을 전송하기 때문에 오류를 보지 못합니다.
- 확장성 – 역방향 프록시는 백엔드 서버 그룹의 단일 "공개적인 면"이므로 트래픽 부하의 변화에 따라 서버를 추가하거나 제거할 수 있습니다.
- 7계층 라우팅 - 역방향 프록시는 모든 서버로 향하는 트래픽을 보고 각 요청을 보낼 위치에 대한 지능적인 결정을 내리고 필요에 따라 요청과 응답을 수정할 수 있습니다. 요청의 특정 HTTP 헤더, URL의 일부, 클라이언트의 지리적 위치 등을 기반으로 라우팅 결정을 내릴 수 있습니다.
- 캐싱 - 역방향 프록시는 캐싱을 수행하기에 좋은 곳입니다. 일반적으로 모든 요청을 백엔드 서버로 보내고 각 백엔드 서버가 자체 캐시를 구축하는 것보다, 그곳에서 콘텐츠를 캐싱하는 것이 훨씬 효율적입니다.
- 기타 기능 – 백엔드 서버 앞에 위치하여 역방향 프록시는 대역폭이나 요청 속도에 따른 트래픽 조정, 연결 제한, 다양한 권한 부여 체계와의 통합, 활동 모니터링 등 다른 기능도 수행할 수 있습니다.
NGINX Plus를 역방향 프록시로 사용
NGINX Plus는 NGINX 오픈 소스의 유명한 웹 서버 기능에 더 많은 기능을 도입하여,
독점 하드웨어 어플라이언스를 대체할 수 있는 모든 기능을 갖춘 애플리케이션 전송 컨트롤러(ADC)로 만듭니다.
NGINX Plus에서 사용할 수 있는 기능 중 일부는 다음과 같습니다.
부하 분산
선택할 수 있는 여러 로드 밸런싱 알고리즘이 있으며, 가중치가 있거나 없는 것이 있습니다.
세션 지속성도 지원됩니다.
NGINX Plus는 HTTP, HTTPS, WebSocket, FastCGI, memcached, SCGI, SPDY[NGINX Plus도
로드 밸런싱하는 HTTP/2에 의해 폐기됨], uwsgi를 로드 밸런싱할 수 있습니다. 자세히 읽어보세요 .
건강 검진
백엔드 서버 상태에 대한 수동 및 능동 모니터링이 모두 지원됩니다. NGINX Plus가 노드에 연결할 수 없는 경우 해당 노드는 다운으로 표시됩니다. 능동 상태 검사는 백엔드 노드에 대해 주기적으로 실행되도록 구성할 수도 있습니다. 또한, 슬로우 스타트 기능을 사용하면 NGINX Plus가 방금 온라인이 된 노드로의 트래픽을 천천히 늘려서 폭주하는 트래픽으로 인해 노드가 압도당하는 것을 방지할 수 있습니다. 자세히 알아보기 .
요청 라우팅
트래픽은 클라이언트 IP 주소, 호스트 이름, URI, 쿼리 문자열, 헤더 등 요청의 모든 부분을 기준으로 라우팅될 수 있습니다.
요청 및 응답 다시 쓰기
헤더, 본문, URI를 포함하여 요청이나 응답의 모든 부분을 수정할 수 있습니다. NGINX Plus는 헤더를 추가하고 삭제할 수도 있습니다. 자세히 알아보세요 .
캐싱
응답은 캐시될 수 있으며, 캐시할 콘텐츠 유형과 기간을 구성할 수 있습니다. 캐시에서 항목을 제거할 수도 있습니다. 자세히 알아보세요 .
압축
Gzip 압축이 지원되며, 압축할 콘텐츠와 압축을 사용할 시기를 세부적으로 제어할 수 있습니다. 자세히 알아보세요 .
SSL/TLS 처리
SSL/TLS 복호화 및 암호화가 지원되며 다양한 인증서를 사용하여 많은 도메인 이름에 대한 복호화가 가능합니다. 자세히 알아보세요 .
라이브 활동 모니터링 및 로깅
JSON 형식으로 인코딩된 NGINX Plus 통계는 간단한 HTTP 요청을 통해 제공됩니다. 대시보드 웹 페이지가 통계를 표시하거나 사용자 지정 또는 타사 모니터링 도구에 피드할 수 있습니다. 사용자 지정 형식의 로그는 로컬 로깅과 syslog로 내보내기 모두에 대해 구성할 수 있습니다. 자세히 알아보기 .
그리고 훨씬 더 많은 것들
NGINX는 비디오 스트리밍 지원, 메일 프록시 지원, GeoIP 지원, 다운타임 없는 우아한 재시작 및 업그레이드, 트래픽 셰이핑, 연결 제한 등 훨씬 더 많은 기능을 제공합니다. 자세한 내용은 nginx.com 및 nginx.org 에서 확인하세요 .
위 내용과 같이 NGINX Plus를 활용하여 Demo 가 필요하시면 하단의 전문가에게 상담받기 버튼을 클릭해주세요
전문가에게 상담받기
NGINX는 고성능 웹 서버로 명성이 높습니다.
많은 사람들이 NGINX를 역방향 프록시로도 사용할 수 있다는 것을 알고 있지만,
그것이 얼마나 강력한 역방향 프록시인지는 알지 못할 수도 있습니다.
역방향 프록시란 무엇인가요? (Reverse Proxy)
한 걸음 물러나서 프록시 서버란 무엇인지 물어보는 것으로 시작해 봅시다. 위키피디아에 좋은 정의가 있다고 생각합니다.
따라서 프록시 서버는 클라이언트와 클라이언트가 찾는 데이터를 호스팅하는 실제 서버 사이에 위치합니다.
클라이언트에게 프록시 서버는 실제 백엔드 서버로 보이고, 백엔드 서버에 프록시 서버는 클라이언트처럼 보입니다.
역방향 프록시 서버를 정의하려면 위키피디아 로 돌아갑니다 .
차이점은 프록시 서버는 클라이언트와 하나의 백엔드 서버 사이에 위치하는 반면,
리버스 프록시 서버는 하나 이상의 백엔드 서버 앞에 위치하여
각 요청에 어떤 백엔드 서버를 사용할지 결정한다는 것입니다.
역방향 프록시를 사용하면 어떤 이점이 있나요?
왜 역방향 프록시 서버를 사용하고 싶습니까? 여러 가지 이점이 있습니다.
NGINX Plus를 역방향 프록시로 사용
NGINX Plus는 NGINX 오픈 소스의 유명한 웹 서버 기능에 더 많은 기능을 도입하여,
독점 하드웨어 어플라이언스를 대체할 수 있는 모든 기능을 갖춘 애플리케이션 전송 컨트롤러(ADC)로 만듭니다.
NGINX Plus에서 사용할 수 있는 기능 중 일부는 다음과 같습니다.
부하 분산
선택할 수 있는 여러 로드 밸런싱 알고리즘이 있으며, 가중치가 있거나 없는 것이 있습니다.
세션 지속성도 지원됩니다.
NGINX Plus는 HTTP, HTTPS, WebSocket, FastCGI, memcached, SCGI, SPDY[NGINX Plus도
로드 밸런싱하는 HTTP/2에 의해 폐기됨], uwsgi를 로드 밸런싱할 수 있습니다. 자세히 읽어보세요 .
건강 검진
백엔드 서버 상태에 대한 수동 및 능동 모니터링이 모두 지원됩니다. NGINX Plus가 노드에 연결할 수 없는 경우 해당 노드는 다운으로 표시됩니다. 능동 상태 검사는 백엔드 노드에 대해 주기적으로 실행되도록 구성할 수도 있습니다. 또한, 슬로우 스타트 기능을 사용하면 NGINX Plus가 방금 온라인이 된 노드로의 트래픽을 천천히 늘려서 폭주하는 트래픽으로 인해 노드가 압도당하는 것을 방지할 수 있습니다. 자세히 알아보기 .
요청 라우팅
트래픽은 클라이언트 IP 주소, 호스트 이름, URI, 쿼리 문자열, 헤더 등 요청의 모든 부분을 기준으로 라우팅될 수 있습니다.
요청 및 응답 다시 쓰기
헤더, 본문, URI를 포함하여 요청이나 응답의 모든 부분을 수정할 수 있습니다. NGINX Plus는 헤더를 추가하고 삭제할 수도 있습니다. 자세히 알아보세요 .
캐싱
응답은 캐시될 수 있으며, 캐시할 콘텐츠 유형과 기간을 구성할 수 있습니다. 캐시에서 항목을 제거할 수도 있습니다. 자세히 알아보세요 .
압축
Gzip 압축이 지원되며, 압축할 콘텐츠와 압축을 사용할 시기를 세부적으로 제어할 수 있습니다. 자세히 알아보세요 .
SSL/TLS 처리
SSL/TLS 복호화 및 암호화가 지원되며 다양한 인증서를 사용하여 많은 도메인 이름에 대한 복호화가 가능합니다. 자세히 알아보세요 .
라이브 활동 모니터링 및 로깅
JSON 형식으로 인코딩된 NGINX Plus 통계는 간단한 HTTP 요청을 통해 제공됩니다. 대시보드 웹 페이지가 통계를 표시하거나 사용자 지정 또는 타사 모니터링 도구에 피드할 수 있습니다. 사용자 지정 형식의 로그는 로컬 로깅과 syslog로 내보내기 모두에 대해 구성할 수 있습니다. 자세히 알아보기 .
그리고 훨씬 더 많은 것들
NGINX는 비디오 스트리밍 지원, 메일 프록시 지원, GeoIP 지원, 다운타임 없는 우아한 재시작 및 업그레이드, 트래픽 셰이핑, 연결 제한 등 훨씬 더 많은 기능을 제공합니다. 자세한 내용은 nginx.com 및 nginx.org 에서 확인하세요 .
위 내용과 같이 NGINX Plus를 활용하여 Demo 가 필요하시면 하단의 전문가에게 상담받기 버튼을 클릭해주세요
전문가에게 상담받기