NGINX는 매우 고성능 웹 서버로서 정당한 명성을 얻었습니다. 많은 사람들이 NGINX를 역방향 프록시로도 사용할 수 있다는 사실을 알고 있지만, 그것이 얼마나 강력한 역방향 프록시인지는 알지 못하는 것 같습니다.
우선, 한 걸음 물러서서 프록시 서버란 무엇인지 질문해 보겠습니다. 저는 위키피디아 에 좋은 정의가 있다고 생각합니다:
따라서 프록시 서버는 클라이언트와 클라이언트가 찾고 있는 데이터를 호스팅하는 실제 서버 사이에 위치합니다. 클라이언트 입장에서는 프록시 서버가 실제 백엔드 서버처럼 보이고, 백엔드 서버에서는 프록시 서버가 클라이언트처럼 보입니다. 역방향 프록시 서버를 정의하려면 Wikipedia 로 돌아가보자.
차이점은 프록시 서버는 클라이언트와 하나의 백엔드 서버 사이에 위치하는 반면, 리버스 프록시 서버는 하나 이상의 백엔드 서버 앞에 위치하여 각 요청에 어떤 백엔드 서버를 사용할지 결정한다는 것입니다.
왜 역방향 프록시 서버를 사용하고 싶습니까? 다양한 이점이 있습니다:
NGINX Plus는 NGINX 오픈 소스의 유명한 웹 서버 기능에 더 많은 기능을 도입하여 NGINX Plus를 독점 하드웨어 어플라이언스를 대체할 수 있는 모든 기능을 갖춘 애플리케이션 전송 컨트롤러(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 복호화 및 암호화가 지원되며, 다양한 인증서를 사용하여 다양한 도메인 이름의 복호화를 수행할 수 있습니다. 더 읽어보세요 .
JSON 형식으로 인코딩된 NGINX Plus 통계는 간단한 HTTP 요청을 통해 사용할 수 있습니다. 통계를 표시하기 위한 대시보드 웹 페이지가 제공되거나 사용자 정의 또는 타사 모니터링 도구에 통계를 제공할 수 있습니다. 사용자 정의 형식의 로그는 로컬 로깅과 syslog로 내보내기 모두에 대해 구성할 수 있습니다. 더 읽어보세요 .
NGINX는 비디오 스트리밍 지원, 메일 프록시 지원, GeoIP 지원, 다운타임 없는 원활한 재시작 및 업그레이드, 트래픽 셰이핑, 연결 제한 등 더 많은 기능을 제공합니다. 자세한 내용은 nginx.com 및 nginx.org 에서 확인하세요.
"이 블로그 게시물에는 더 이상 사용할 수 없거나 더 이상 지원되지 않는 제품이 참조될 수 있습니다. 사용 가능한 F5 NGINX 제품과 솔루션에 대한 최신 정보를 보려면 NGINX 제품군을 살펴보세요. NGINX는 이제 F5의 일부가 되었습니다. 이전의 모든 NGINX.com 링크는 F5.com의 유사한 NGINX 콘텐츠로 리디렉션됩니다."