웹사이트 검색

Linux용 최고의 오픈 소스 리버스 프록시 서버 10개


역방향 프록시 서버는 클라이언트와 백엔드/원본 서버(예: NGINX, 와 같은 HTTP 서버) 사이에 배포되는 프록시 서버 유형입니다. Apache 등. 또는 Nodejs, Python, Java, Ruby로 작성된 애플리케이션 서버, PHP 및 기타 여러 프로그래밍 언어.

클라이언트 요청을 받아 하나 이상의 백엔드 서버에 전달한 다음 서버에서 응답을 가져와 클라이언트에 다시 전달하여 콘텐츠가 마치 콘텐츠인 것처럼 보이게 만드는 게이트웨이 또는 중개 서버입니다. 역방향 프록시 서버 자체에서 발생합니다.

일반적으로 역방향 프록시 서버는 개인 네트워크의 백엔드 서버에 대한 액세스를 제어하고 보호하기 위해 '프런트엔드'로 사용되는 내부 프록시입니다. 일반적으로 네트워크 방화벽 뒤에 배포됩니다. .

백엔드 서버가 익명성을 달성하여 보안을 강화하는 데 도움이 됩니다. IT 인프라에서 역방향 프록시는 애플리케이션 방화벽, 로드 밸런서, TLS 터미네이터, 웹 가속기(정적 및 동적 콘텐츠 캐싱) 등의 역할도 할 수 있습니다.

이 기사에서는 Linux 시스템에서 사용할 수 있는 최고의 오픈 소스 역방향 프록시 서버 10개를 검토하겠습니다.

1. HAProxy – (TCP/HTTP 로드 밸런서)

HAProxy(HAProxy, High Availability Proxy를 나타냄)는 매우 빠르고 안정적인 무료 오픈 소스 TCP용 로드 밸런서 및 프록싱 소프트웨어입니다. 고가용성을 위해 구축된 HTTP 기반 애플리케이션.

HAProxy는 HTTP 역방향 프록시, TCP 프록시 및 노멀라이저, SSL/TLS 종결자/개시자/오프로더, 캐싱 프록시, HTTP 압축 오프로더, 트래픽 조정기, 콘텐츠 기반 스위치, FastCGI 게이트웨이 등. 이는 또한 DDoS 및 서비스 남용으로부터 보호해 줍니다.

수만 개의 동시 연결을 쉽게 처리할 수 있는 우선순위 기반 멀티스레드 스케줄러와 매우 빠른 I/O 레이어를 결합한 이벤트 중심의 비차단 엔진으로 구동됩니다.

특히 HAProxy는 애플리케이션이 모든 관련 정보를 얻을 수 있도록 PROXY 프로토콜을 사용하여 클라이언트의 연결 정보를 백엔드 또는 원본 서버에 전달합니다.

HAProxy의 기본 기능 중 일부에는 프록싱, SSL 지원, 서버 상태 및 상태 모니터링, 고가용성, 로드 밸런싱, 고착성(다양한 이벤트에서도 방문자를 동일한 서버에 유지), 콘텐츠 전환, HTTP 재작성 및 리디렉션, 서버가 포함됩니다. 보호, 로깅, 통계 등이 있습니다.

2. NGINX – (HTTP 및 역방향 프록시 웹 서버)

NGINX는 무료 오픈 소스 고성능 고성능 HTTP 서버 및 역방향 프록시입니다. 또한 IMAP/POP3 프록시 서버로도 작동합니다. NGINX는 고성능, 안정성, 풍부한 기능 세트, 간단하고 유연한 구성, 낮은 리소스 소비(특히 작은 메모리 공간)로 잘 알려져 있습니다.

HAProxy와 마찬가지로 NGINX는 이벤트 중심 아키텍처를 가지므로 HAProxy의 PROXY를 사용하므로 수만 개의 동시 연결을 처리하는 데 문제가 없습니다. > 프로토콜.

NGINX는 FastCGI, uwsgi, SCGI 및 Memcached와 같은 HTTP 이외의 프로토콜을 통해 다른 서버에 요청을 전달할 수 있는 ngx_http_proxy_module 모듈을 사용하여 캐싱을 통해 가속화된 역방향 프록시를 지원합니다.

중요한 것은 대규모 분산 컴퓨팅 시스템의 중요한 측면인 로드 밸런싱 및 내결함성을 지원한다는 것입니다. ngx_http_upstream_module 모듈을 사용하면 백엔드 서버 그룹을 정의하여 클라이언트에서 오는 요청을 분산할 수 있습니다.

이를 통해 응답 시간과 처리량을 통해 애플리케이션을 더욱 강력하고, 가용성과 안정성, 확장성이 향상됩니다. 또한 보안과 관련하여 SSL/TLS 종료 및 기타 여러 보안 기능을 지원합니다.

읽고 싶은 Nginx 웹 서버 관련 유용한 기사:

3. 광택 – (역방향 캐싱 프록시)

Varnish HTTP Cache(또는 Varnish Cache 또는 간단히 Varnish)는 웹으로 더 잘 알려진 무료 오픈 소스 고성능 캐싱 역방향 프록시 소프트웨어입니다. 서버 측 캐싱을 사용하여 HTTP 성능을 향상시키도록 설계된 애플리케이션 가속기입니다.

클라이언트와 HTTP 웹 서버 또는 애플리케이션 서버 사이에 배포됩니다. 클라이언트가 웹 서버에서 정보나 리소스를 요청할 때마다 Varnish는 정보의 복사본을 저장하므로 다음에 클라이언트가 동일한 정보를 요청할 때 Varnish는 웹 서버에 요청을 보내지 않고 해당 정보를 제공하므로 부하가 줄어듭니다. 서버를 구축하고 결과적으로 웹 콘텐츠 전달 속도를 높입니다.

VarnishVarnish 구성 언어(VLC)라는 유연한 구성 언어를 사용합니다. 이를 통해 시스템 관리자는 수신 요청이 어떻게 처리되어야 하는지 구성할 수 있습니다. 처리되는 내용, 어떤 콘텐츠를 제공해야 하는지, 요청이나 응답을 어디서 어떻게 변경해야 하는지 등이 있습니다.

바니시는 확장 가능합니다. 바니시 모듈(VMOD)을 사용하여 확장할 수 있으며 사용자는 맞춤 모듈을 작성하거나 커뮤니티에서 제공하는 모듈을 사용할 수 있습니다.

Varnish의 주요 제한 사항은 SSL/TLS에 대한 지원이 부족하다는 것입니다. HTTPS를 활성화하는 유일한 방법은 HAProxy 또는 NGINX와 같은 SSL/TLS 종결자 또는 오프로더를 배포하는 것입니다. 그것의 앞에.

4. Træfək – (클라우드 네이티브 애플리케이션 프록시)

Træfæk(트래픽으로 발음)은 여러 로드 밸런싱 알고리즘을 지원하는 마이크로 서비스 배포를 위한 무료 오픈 소스, 현대적이고 빠른 HTTP 역방향 프록시 및 로드 밸런서입니다.

Kubernetes, Docker, Etcd, Rest API, Mesos/Marathon, Swarm 및 Zookeper와 같은 다양한 공급자(또는 서비스 검색 메커니즘 또는 조정 도구)와 인터페이스할 수 있습니다.

그 사랑스러운 기능은 구성을 자동으로 동적으로 관리하여 서비스에 적합한 구성을 찾는 기능입니다. 인프라를 스캔하여 관련 정보를 찾고 어떤 서비스가 외부 세계의 어떤 요청을 처리하는지 검색함으로써 이를 수행합니다. 공급자는 귀하의 애플리케이션이나 마이크로서비스가 어디에 있는지 Træfək에 알려줍니다.

Træfək의 다른 기능은 WebSocket, HTTP/2 및 GRPC, 핫 리로딩(다시 시작하지 않고 지속적으로 구성 업데이트), Let's Encrypt 인증서를 사용하는 HTTPS(와일드카드 인증서 지원)에 대해 지원되며 REST API를 노출합니다. 또한 액세스 로그를 유지하고 메트릭(Rest, Prometheus, Datadog, Statsd, InfluxDB)을 제공합니다.

또한 Træfək에는 이벤트를 감시하는 데 사용되는 간단한 HTML 기반 웹 사용자 인터페이스가 함께 제공됩니다. 또한 회로 차단기, 재시도 요청, 속도 제한 및 기본 인증을 지원합니다.

5. Apache 트래픽 서버 – (역방향 및 순방향 프록시 서버)

이전에 Yahoo가 소유한 상용 제품이 나중에 Apache Foundation에 넘겨진 Apache Traffic Server는 무료 오픈 소스이며 빠른 캐싱 정방향 및 역방향 프록시입니다. 섬기는 사람.

트래픽 서버는 부하 분산 장치로도 작동하며 유연한 캐시 계층 구조에 참여할 수 있습니다. 야후에서는 하루 400TB가 넘는 트래픽을 처리한 것으로 알려졌다.

이는 콘텐츠 요청의 연결 유지, 필터링 또는 익명화 기능을 갖추고 있으며 사용자가 HTTP 헤더를 수정하거나 ESI 요청을 처리하거나 새로운 캐시 알고리즘을 설계하기 위한 사용자 정의 플러그인을 생성할 수 있는 API를 통해 확장 가능합니다.

6. Squid – (HTTP 프록시 캐싱 및 전달)

Squid는 HTTP, HTTPS, FTP 등과 같은 다양한 프로토콜을 지원하는 잘 알려진 무료 오픈 소스 프록시 서버이자 웹 캐시 데몬입니다. 나가는 데이터에 대한 들어오는 요청을 캐시하는 역방향 프록시(httpd-accelerator) 모드가 특징입니다.

풍부한 트래픽 최적화 옵션, 액세스 제어, 승인, 로깅 기능 등을 지원합니다.

7. 파운드 – (역방향 프록시 및 로드 밸런서)

A Pound는 또 다른 무료 오픈 소스 경량 리버스 프록시이자 웹 서버용 로드 밸런서이자 프런트 엔드입니다. 이는 또한 SSL 종결자이기도 합니다(클라이언트의 HTTPS 요청을 해독하고 이를 일반 HTTP로 백엔드 서버에 보냅니다).

HTTP/HTTPS 새니타이저(정확성에 대한 요청을 확인하고 올바른 형식의 요청만 허용) 및 장애 조치 서버.

8. 아파치 – (HTTP 웹 서버)

전 세계에서 가장 널리 사용되는 웹 서버인 Apache HTTP 서버(HTTPD라고도 함)를 배포하고 역방향 프록시 역할을 하도록 구성할 수도 있습니다.

Apache는 클라이언트 요청을 백엔드 서버로 라우팅하고, 보안을 강화하고, 로드 밸런싱을 수행하고, 웹 애플리케이션 성능을 최적화하는 데 탁월합니다. 중개자 역할을 하는 Apache는 들어오는 트래픽을 여러 서버 인스턴스에 효율적으로 분산하여 고가용성과 원활한 사용자 경험을 보장할 수 있습니다.

강력하고 사용자 정의 가능한 구성 옵션 덕분에 콘텐츠 캐싱이든 애플리케이션 제공이든 역방향 프록시 요구 사항에 맞는 안정적인 솔루션을 찾는 조직에 최고의 선택이 됩니다.

9. 스키퍼 – (HTTP 라우터 및 역방향 프록시)

Skipper는 Kubernetes Ingress와 같은 사용 사례를 포함하여 서비스 구성을 위한 무료 오픈 소스 HTTP 라우터이자 역방향 프록시입니다.

이는 800,000개 이상의 경로, 복잡한 조회 조건 기능, 필터를 통해 요청 흐름을 향상시키는 유연성을 제공하는 동적으로 구성된 상당수의 HTTP 경로 정의를 관리하도록 구축되었습니다.

있는 그대로 쉽게 배포할 수도 있고 사용자 지정 조회, 필터 논리 및 구성 소스를 통합하여 확장할 수도 있습니다.

10 Caddy 2 – 자동 HTTPS를 갖춘 빠른 서버

Caddy 2는 단순성과 다용도로 유명한 오픈 소스 웹 서버이자 역방향 프록시로, 기본적으로 사용자 친화적인 인터페이스와 자동 HTTPS를 제공하여 신규 사용자와 숙련된 사용자 모두가 액세스할 수 있는 선택이 됩니다.

Caddy 2는 웹 호스팅, HTTP/2, 부하 분산 및 프록시를 손쉽게 처리하여 웹사이트 성능과 보안을 강화하도록 설계되었습니다. 오픈 소스 특성은 커뮤니티 기여를 장려하며 웹 호스팅 및 서버 관리 분야에서 사용하기 쉽고 현대적인 기능으로 인기를 얻었습니다.

결론

이것이 이 가이드에서 제공하는 전부입니다. 이 목록의 각 도구에 대한 자세한 내용은 해당 웹사이트를 확인하세요. 아래 피드백 양식을 통해 귀하의 생각을 우리와 공유하는 것을 잊지 마십시오.