역방향 프록시는 부하 분산 서비스를 제공하는 데 사용되며, 웹 애플리케이션 방화벽, 애플리케이션 전송 방화벽, 심층적 콘텐츠 검사를 통해 네트워크의 전략적 삽입 지점에서 웹 애플리케이션 보안을 강화하는 데 점점 더 많이 사용됩니다.
네트워킹 및 웹 트래픽에서 프록시는 다른 장치를 대신하여 작동하는 장치 또는 서버 입니다. 이는 두 개체 사이에 위치하여 서비스를 수행합니다. 프록시는 클라이언트와 서버 사이에 위치하여 요청과 때로는 응답을 관리하는 하드웨어나 소프트웨어 솔루션입니다.
일반적으로 역방향 프록시 서버는 웹 서버 앞에 위치하여 클라이언트(예: 웹 브라우저)의 요청을 해당 웹 서버로 전달합니다. 요청된 리소스는 마치 프록시 서버에서 온 것처럼 클라이언트로 반환됩니다. 이는 클라이언트와 서버 간의 네트워크 트래픽이 원활하게 흐르도록 보장하기 위해 추가적인 수준의 추상화와 제어를 제공합니다. 역방향 프록시는 사용자 기기, 위치, 네트워크 조건, 애플리케이션 상태, 심지어 시간대와 같은 다양한 매개변수를 기반으로 요청을 전달하는 기능도 제공합니다.
역방향 프록시 서버와 로드 밸런서는 모두 클라이언트-서버 컴퓨팅 아키텍처의 구성 요소입니다. 둘 다 클라이언트와 서버 간의 통신에서 중개자 역할을 하며 효율성을 향상시키는 기능을 수행합니다. 이러한 장치는 전용으로 구축된 장치로 구현될 수 있지만, 현대 웹 아키텍처에서는 상용 하드웨어에서 실행되는 소프트웨어 애플리케이션이 늘어나고 있습니다. 비슷한 기능을 수행하는 것처럼 보이지만, 이들이 일반적으로 웹사이트에 배포되는 시기와 이유를 살펴보겠습니다.
로드 밸런서는 들어오는 클라이언트 요청을 여러 서버 그룹에 분산시켜 만족스러운 속도와 최적화된 기능을 보장합니다. 로드 밸런서는 사이트에 여러 대의 서버가 필요할 때 가장 일반적으로 배포됩니다. 요청 양이 너무 많아서 단일 서버에서 효율적으로 처리할 수 없기 때문입니다. 여러 서버를 배포하면 단일 장애 지점이 없어지므로 웹사이트의 안정성이 높아집니다. 가장 일반적으로 모든 서버는 동일한 콘텐츠를 호스팅하고, 로드 밸런서의 역할은 각 서버의 용량을 가장 잘 활용하여 작업 부하를 분산하고, 모든 서버에 과부하가 걸리는 것을 방지하고, 클라이언트에 가능한 가장 빠른 응답을 제공하는 것입니다.
역방향 프록시는 클라이언트의 요청을 수락하고, 이를 처리할 수 있는 서버로 전달하고, 서버의 응답을 클라이언트에게 반환합니다. 로드 밸런서를 배포하는 것은 여러 서버가 있는 경우에만 의미가 있지만, 웹 서버나 애플리케이션 서버가 하나뿐인 경우에도 역방향 프록시를 배포하는 것이 더 의미가 있는 경우가 많습니다. 역방향 프록시는 웹사이트의 "공개적인 면"이라고 생각할 수 있습니다. 이 주소는 웹사이트에 광고된 주소이며, 웹사이트에 호스팅된 콘텐츠에 대한 웹 브라우저와 모바일 앱의 요청을 수용하기 위해 사이트 네트워크의 가장자리에 위치합니다. 역방향 프록시는 클라이언트와 서버 간의 네트워크 트래픽이 원활하게 흐르도록 보장하기 위해 추가적인 수준의 추상화와 제어를 제공합니다. 역방향 프록시는 다음을 제공합니다.
역방향 프록시는 부하 분산 서비스를 제공하여 보다 원활한 웹 경험을 제공하고, 웹 애플리케이션 방화벽, 애플리케이션 전송 방화벽, 심층적 콘텐츠 검사를 통해 네트워크의 전략적 삽입 지점에서 웹 애플리케이션 보안을 강화하는 데 사용됩니다.
클라우드 배포와 결합하면 역방향 프록시를 통해 클라우드 버스팅 및 분할 애플리케이션 아키텍처를 구현할 수 있으며, 이를 통해 제어나 보안을 손상시키지 않고도 클라우드의 경제적 이점을 얻을 수 있습니다.
역방향 프록시는 간단한 전달 서비스 역할을 할 수도 있고, 클라이언트와 서버 간의 교환에 적극적으로 참여할 수도 있습니다. 프록시가 이중 네트워크 스택을 구현하여 클라이언트와 서버를 별개의 개체로 처리하는 경우, 이를 전체 프록시라고 합니다.
전체 프록시는 중간에 약간의 간격을 두고 별도의 TCP 서버 연결과 함께 TCP 클라이언트 연결을 생성합니다. 클라이언트는 한 쪽 끝에 있는 프록시에 연결하고, 프록시는 서버에 대한 별도의 독립적인 연결을 설정합니다. 이는 양쪽 모두 양방향입니다. 연결이 독립적이기 때문에 클라이언트 측에서 서버 측으로 연결이 섞이는 일은 없습니다.
역방향 프록시의 기능은 환경의 복잡성과 조직의 요구 사항에 따라 장치, 소프트웨어 또는 서비스에서 수행될 수 있습니다.
클라우드 네이티브 환경에 이상적인 NGINX Plus는 하드웨어 장치와 유사하게 부하 분산, 레이어 7 라우팅 및 웹 성능 최적화를 수행하는 소프트웨어 기반 역방향 프록시 입니다. NGINX Plus는 웹사이트 성능, 안정성, 보안 및 확장성을 개선하는 데에도 도움이 됩니다. NGINX Plus는 비슷한 기능을 갖춘 하드웨어 기반 솔루션보다 훨씬 저렴합니다. NGINX Plus의 포괄적인 부하 분산 및 역방향 프록시 기능을 사용하면 고도로 최적화된 애플리케이션 전송 네트워크를 구축할 수 있습니다. NGINX Plus는 전체 프록시보다 낮은 비용으로 퍼블릭 클라우드는 물론 프라이빗 데이터 센터에도 배포할 수 있습니다.
더욱 복잡하고 하이브리드적인 환경에서 F5 BIG-IP 시스템은 요청 및 응답을 가로채고, 검사하고, 상호작용할 수 있는 완전한 역방향 프록시 서버로 배포할 수 있는 완전한 프록시입니다. 여기에는 부하 분산 및 웹 성능 최적화의 기본 기능은 물론, 애플리케이션 계층 보안 , 웹 가속 , 페이지 라우팅, 보안 원격 액세스 와 같은 고급 트래픽 관리 서비스도 포함됩니다.